Often an expstudy
needs to be aggregated according to different variables
for analysis. This function provides easy aggregation of the expstudy
metric variables exposures
, expected
, and actuals
.
Grouping can be performed by passing variables as unnamed arguments. If no
groups are specified, the grand total of the expstudy
metric variables will
be returned.
By default, only the metric variables are summed and returned. Other
variables can also be totaled by using the .oth_sum_vars
to specify.
Arguments
- expstudy
an
expstudy()
- ...
variables to use as groups
- .oth_sum_vars
additional variable to total. Multiple variables can be provided using
c()
.
Examples
es <- expstudy(
data = mortexp,
actuals = ACTUAL_DEATHS,
expecteds = EXPECTED_DEATHS,
exposures = EXPOSURE,
variances = VARIANCE_DEATHS
)
es %>%
aggregate(ATTAINED_AGE)
#> Source: local data table [83 x 5]
#> Call: `_DT14`[, .(ACTUAL_DEATHS = sum(ACTUAL_DEATHS), EXPECTED_DEATHS = sum(EXPECTED_DEATHS),
#> EXPOSURE = sum(EXPOSURE), VARIANCE_DEATHS = sum(VARIANCE_DEATHS)),
#> keyby = .(ATTAINED_AGE)]
#>
#> ATTAINED_AGE ACTUAL_DEATHS EXPECTED_DEATHS EXPOSURE VARIANCE_DEATHS
#> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 19 0 0.214 21.7 0.214
#> 2 20 0 0.565 56.5 0.565
#> 3 21 0 0.662 65.5 0.661
#> 4 22 0 0.713 69.9 0.712
#> 5 23 0 0.828 80.3 0.827
#> 6 24 0 0.884 84.9 0.884
#> # ℹ 77 more rows
#>
#> # Use as.data.table()/as.data.frame()/as_tibble() to access results
es %>%
aggregate(
GENDER,
UNDERWRITING_CLASS,
SMOKING_STATUS
)
#> Source: local data table [12 x 7]
#> Call: `_DT14`[, .(ACTUAL_DEATHS = sum(ACTUAL_DEATHS), EXPECTED_DEATHS = sum(EXPECTED_DEATHS),
#> EXPOSURE = sum(EXPOSURE), VARIANCE_DEATHS = sum(VARIANCE_DEATHS)),
#> keyby = .(GENDER, UNDERWRITING_CLASS, SMOKING_STATUS)]
#>
#> GENDER UNDERWRITING_CLASS SMOKING_STATUS ACTUAL_DEATHS EXPECTED_DEATHS
#> <fct> <fct> <fct> <dbl> <dbl>
#> 1 FEMALE PREFERRED NON-SMOKER 9 7.74
#> 2 FEMALE PREFERRED SMOKER 3 2.86
#> 3 FEMALE SELECT NON-SMOKER 22 20.7
#> 4 FEMALE SELECT SMOKER 8 7.68
#> 5 FEMALE STANDARD NON-SMOKER 64 47.9
#> 6 FEMALE STANDARD SMOKER 28 20.3
#> # ℹ 6 more rows
#> # ℹ 2 more variables: EXPOSURE <dbl>, VARIANCE_DEATHS <dbl>
#>
#> # Use as.data.table()/as.data.frame()/as_tibble() to access results