Including vax

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