The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
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[@]metanet.ch.

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  26003 35-44 1979 60.64569 48.28666 76.15700 2.175994      1       1011
#> 3  26005 35-44 1979 20.57092 16.59628 23.37615 3.034115      0       9110
#> 4  26007 35-44 1979 24.73026 17.37052 31.64529 1.732446      0       3650
#> 5  26009 35-44 1979 32.19631 26.36770 40.97872 2.203564      0       1763
#> 6  26011 35-44 1979 37.52907 23.49114 48.33818 1.510404      0       1470

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  26003 35-64 1979 285.1687 251.9023 298.3916 6.134078     12       3105
#> 3  26005 35-64 1979 113.8297 104.2205 125.8577 5.260842     27      23926
#> 4  26007 35-64 1979 152.9456 141.5888 165.1699 6.485954     15      10000
#> 5  26009 35-64 1979 158.5001 143.1010 178.9157 4.425559     11       5152
#> 6  26011 35-64 1979 202.9706 185.8431 224.2937 5.278736      8       4517

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.