--- title: "Using other data sources" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Using other data sources} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ``` ```{r setup} library(conmat) ``` The primary goal of the conmat package is to be able to get a contact matrix for a given age population. It was initially written for work done in Australia, and so the initial focus was on cleaning and extracting data from the Australian Bureau of Statistics. This vignette focusses on using other data sources with conmat. We can use some other functions from `socialmixr` to extract similar estimates for different populations in different countries. We could extract some data from Italy using the [`socialmixr`](https://epiforecasts.io/socialmixr/) R package ```{r} library(socialmixr) italy_2005 <- wpp_age("Italy", "2005") head(italy_2005) ``` We can then convert this data into a `conmat_population` object and use it in `extrapolate_polymod` ```{r} italy_2005_pop <- as_conmat_population( data = italy_2005, age = lower.age.limit, population = population ) ``` ```{r} age_breaks_0_80_plus <- c(seq(0, 80, by = 5), Inf) italy_contact <- extrapolate_polymod( population = italy_2005_pop, age_breaks = age_breaks_0_80_plus ) italy_contact ``` # Creating a next generation matrix (NGM) To create a next generation matrix, you can use either a conmat population object, or setting prediction matrices, like so: ```{r} # using a conmat population object italy_2005_ngm <- generate_ngm( italy_2005_pop, age_breaks = age_breaks_0_80_plus, R_target = 1.5 ) italy_2005_ngm # using a setting prediction matrix italy_2005_ngm_polymod <- generate_ngm( italy_contact, age_breaks = age_breaks_0_80_plus, R_target = 1.5 ) italy_2005_ngm_polymod # these are the same identical(italy_2005_ngm, italy_2005_ngm_polymod) ``` # Applying vaccination to an NGM We can then take a next generation matrix and apply vaccination data, such as the provided `vaccination_effect_example_data` dataset. ```{r} vaccination_effect_example_data ngm_italy_vacc <- apply_vaccination( ngm = italy_2005_ngm, data = vaccination_effect_example_data, coverage_col = coverage, acquisition_col = acquisition, transmission_col = transmission ) ngm_italy_vacc ```