The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

04: Generating Estimates: Age-standardization

Overview

In the previous vignette, we discussed the model setup process in-depth. But how do we get our estimates once we’ve run our model? In this vignette, we discuss extracting estimates from our model object with the get_estimates() function, and how to age-standardize those estimates with age_standardize().

The get_estimates() function

In the RSTr introductory vignette, we generated age-standardized estimates for lambda based on our example Michigan dataset. To extract rates from an RSTr object, we can simply run get_estimates():

mod_mst <- mstcar(name = "my_test_model", data = miheart, adjacency = miadj)
estimates <- get_estimates(mod_mst, rates_per = 1e5)
head(estimates)
#>   county group year   medians ci_lower  ci_upper rel_prec events population
#> 1  26001 35-44 1979  24.17566 18.90347  35.37604 1.467631      1        964
#> 2  26001 35-44 1980  29.95289 23.47562  36.20030 2.353922      1        995
#> 3  26001 35-44 1981  21.06546 16.47818  27.91682 1.841605      0        988
#> 4  26001 45-54 1979 115.12711 95.94252 135.68586 2.896765      0        968
#> 5  26001 45-54 1980 107.96123 97.34824 127.52960 3.577084      4        980
#> 6  26001 45-54 1981 106.66256 83.54648 121.54097 2.807317      2        973

The age_standardization() function

In many cases, we will want to age-standardize our estimates based on some (or all) age groups in our dataset. In our Michigan dataset, we have six ten-year age groups over which we can standardize; let’s age-standardize from ages 35-64. For RSTr objects, age_standardize() takes in four arguments:

Once we have our std_pop vector, we can age-standardize our estimates:

std_pop <- c(113154, 100640, 95799)
mod_mst <- age_standardize(mod_mst, std_pop, new_name = "35-64", groups = c("35-44", "45-54", "55-64"))
mod_mst
#> RSTr object:
#> 
#> Model name: mstcar_example 
#> Model type: MSTCAR 
#> Data likelihood: binomial 
#> Estimate Credible Interval: 95% 
#> Number of geographic units: 83 
#> Number of samples: 2200 
#> Estimates age-standardized: Yes 
#> Age-standardized groups: 35-64 
#> Estimates suppressed: No

Notice now that the mod_mst object indicates we have age-standardized our estimates and the names of our age-standardized group. We can also add on to our list of age-standardized estimates by simply specifying a different group:

std_pop <- c(68775, 34116, 9888)
mod_mst <- age_standardize(mod_mst, std_pop, new_name = "65up", groups = c("65-74", "75-84", "85+"))
mod_mst
#> RSTr object:
#> 
#> Model name: mstcar_example 
#> Model type: MSTCAR 
#> Data likelihood: binomial 
#> Estimate Credible Interval: 95% 
#> Number of geographic units: 83 
#> Number of samples: 2200 
#> Estimates age-standardized: Yes 
#> Age-standardized groups: 35-64 65up 
#> Estimates suppressed: No

If we want to generate estimates for all groups, i.e. 35 and up, we can omit the groups argument and expand std_pop to include all of our populations:

std_pop <- c(113154, 100640, 95799, 68775, 34116, 9888)
mod_mst <- age_standardize(mod_mst, std_pop, new_name = "35up")
mod_mst
#> RSTr object:
#> 
#> Model name: mstcar_example 
#> Model type: MSTCAR 
#> Data likelihood: binomial 
#> Estimate Credible Interval: 95% 
#> Number of geographic units: 83 
#> Number of samples: 2200 
#> Estimates age-standardized: Yes 
#> Age-standardized groups: 35-64 65up 35up 
#> Estimates suppressed: No
mst_estimates_as <- get_estimates(mod_mst)
head(mst_estimates_as)
#>   county group year  medians ci_lower ci_upper rel_prec events population
#> 1  26001 35-64 1979 154.4839 139.2431 170.0486 5.014813      7       3353
#> 2  26001 35-64 1980 149.1580 137.7706 158.5573 7.175656     12       3421
#> 3  26001 35-64 1981 132.5922 119.5103 144.0410 5.405147      7       3431
#> 4  26001  35up 1979 422.7422 379.6836 452.2813 5.823079     25       5268
#> 5  26001  35up 1980 408.3825 363.8984 434.1419 5.813812     37       5424
#> 6  26001  35up 1981 397.3618 373.4317 433.0654 6.663372     31       5510

Now, get_estimates(mod_mst) shows the age-standardized estimates as opposed to our non-standardized estimates. Should you want to see the non-standardized estimates instead, you can set the argument standardized = FALSE.

Final thoughts

In this vignette, we explored the get_estimates() function and investigated age-standardization with the age_standardize() function. Age-standardization is one of the most important features of the RSTr package; using just a few arguments, we can easily generate estimates across our population groups.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.