Skip to contents

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.

Usage

aggregate(expstudy, ..., .oth_sum_vars = NULL)

Arguments

expstudy

an expstudy()

...

variables to use as groups

.oth_sum_vars

additional variable to total. Multiple variables can be provided using c().

Value

an aggregated expstudy.

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