We begin with a blank SEIIAR data.table:
library(data.table)
print(spread::norway_seiiar_noinfected_2017)
#> location_code S E I Ia R
#> 1: municip0101 30790 0 0 0 0
#> 2: municip0104 32407 0 0 0 0
#> 3: municip0105 55127 0 0 0 0
#> 4: municip0106 80121 0 0 0 0
#> 5: municip0111 4517 0 0 0 0
#> ---
#> 418: municip5051 5138 0 0 0 0
#> 419: municip5052 584 0 0 0 0
#> 420: municip5053 6800 0 0 0 0
#> 421: municip5054 10108 0 0 0 0
#> 422: municip5061 2026 0 0 0 0
We then take a vax data.table that has the proportion of vaccinated people for each location_code:
vax_measles <- fhidata::norway_childhood_vax[
year==2016 &
stringr::str_detect(location_code,"^municip") &
vax=="measles",
c("location_code","proportion")
]
print(vax_measles)
#> location_code proportion
#> 1: municip0101 0.9373297
#> 2: municip0104 0.9001560
#> 3: municip0105 0.9363201
#> 4: municip0106 0.9128431
#> 5: municip0111 0.9031008
#> ---
#> 418: municip5051 0.8823529
#> 419: municip5052 0.9241643
#> 420: municip5053 0.9509804
#> 421: municip5054 0.9160637
#> 422: municip5061 0.9241643
We then use the function convert_blank_seiiar_with_vax
to combine the two:
norway_seiiar_measles_noinfected_2017 <- spread::convert_blank_seiiar_with_vax(
seiiar = spread::norway_seiiar_noinfected_2017,
vax = vax_measles
)
We now have a data.table that contains “recovered” people (i.e. vaccinated people):
print(norway_seiiar_measles_noinfected_2017)
#> location_code S E I Ia R
#> 1: municip0101 1930 0 0 0 28860
#> 2: municip0104 3236 0 0 0 29171
#> 3: municip0105 3510 0 0 0 51617
#> 4: municip0106 6983 0 0 0 73138
#> 5: municip0111 438 0 0 0 4079
#> ---
#> 418: municip5051 604 0 0 0 4534
#> 419: municip5052 44 0 0 0 540
#> 420: municip5053 333 0 0 0 6467
#> 421: municip5054 848 0 0 0 9260
#> 422: municip5061 154 0 0 0 1872
We can then add some infected people:
norway_seiiar_measles_oslo_2017 <- copy(norway_seiiar_measles_noinfected_2017)
norway_seiiar_measles_oslo_2017[location_code == "municip0301", I := 10]
norway_seiiar_measles_oslo_2017[location_code == "municip0301", S := S - I]
print(norway_seiiar_measles_oslo_2017[location_code=="municip0301"])
#> location_code S E I Ia R
#> 1: municip0301 59765 0 10 0 606984