Add commonly used metrics to an expstudy(). This typically would be after
grouping by variables of interest, but doesn't have to be. The following
metrics are available by default and use the expstudy's metric variables
(actuals, expecteds, andexposures).
'act2expec': actuals to expecteds (i.e., A/E ratios)'act2expos': actuals to exposures (i.e., average actually observed)'expec2expos': expecteds to exposures (i.e., average expected)
You can also create custom metrics to add by providing (optionally named) metric formulae.
Arguments
- expstudy
an
expstudy()- ...
additional metrics to add. Can be name-value pairs or simply the metric's formula.
- .metrics
default methods to add; if omitted, all metrics listed will be added
- .metric_nms
pairlist of .metric names; can be character vector for
expstudyobject with multiple columns per.metricsargument
Value
An expstudy object with added metrics. See expstudy() for
additional detail on expstudy objects.
Examples
es <- expstudy(
data = mortexp,
actuals = ACTUAL_DEATHS,
expecteds = EXPECTED_DEATHS,
exposures = EXPOSURE,
variances = VARIANCE_DEATHS
)
# If no arguments are provided, all default metrics will be generated. This
# mostly makes sense for already aggregated expstudy objects, but can be
# used with unaggregated objects as well.
es %>%
aggregate(ATTAINED_AGE) %>%
add_metrics
#> Source: local data table [83 x 8]
#> Call: `_DT4`[, .(ACTUAL_DEATHS = sum(ACTUAL_DEATHS), EXPECTED_DEATHS = sum(EXPECTED_DEATHS),
#> EXPOSURE = sum(EXPOSURE), VARIANCE_DEATHS = sum(VARIANCE_DEATHS)),
#> keyby = .(ATTAINED_AGE)][, `:=`(ACTUAL_TO_EXPECTED = ACTUAL_DEATHS/EXPECTED_DEATHS,
#> ACTUAL_TO_EXPOSED = ACTUAL_DEATHS/EXPOSURE, EXPECTED_TO_EXPOSED = EXPECTED_DEATHS/EXPOSURE)]
#>
#> 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
#> # ℹ 3 more variables: ACTUAL_TO_EXPECTED <dbl>, ACTUAL_TO_EXPOSED <dbl>,
#> # EXPECTED_TO_EXPOSED <dbl>
#>
#> # Use as.data.table()/as.data.frame()/as_tibble() to access results
es %>%
aggregate(
UNDERWRITING_CLASS,
GENDER,
SMOKING_STATUS
) %>%
add_metrics
#> Source: local data table [12 x 10]
#> Call: `_DT4`[, .(ACTUAL_DEATHS = sum(ACTUAL_DEATHS), EXPECTED_DEATHS = sum(EXPECTED_DEATHS),
#> EXPOSURE = sum(EXPOSURE), VARIANCE_DEATHS = sum(VARIANCE_DEATHS)),
#> keyby = .(UNDERWRITING_CLASS, GENDER, SMOKING_STATUS)][,
#> `:=`(ACTUAL_TO_EXPECTED = ACTUAL_DEATHS/EXPECTED_DEATHS,
#> ACTUAL_TO_EXPOSED = ACTUAL_DEATHS/EXPOSURE, EXPECTED_TO_EXPOSED = EXPECTED_DEATHS/EXPOSURE)]
#>
#> UNDERWRITING_CLASS GENDER SMOKING_STATUS ACTUAL_DEATHS EXPECTED_DEATHS
#> <fct> <fct> <fct> <dbl> <dbl>
#> 1 PREFERRED FEMALE NON-SMOKER 9 7.74
#> 2 PREFERRED FEMALE SMOKER 3 2.86
#> 3 PREFERRED MALE NON-SMOKER 17 10.7
#> 4 PREFERRED MALE SMOKER 7 4.48
#> 5 SELECT FEMALE NON-SMOKER 22 20.7
#> 6 SELECT FEMALE SMOKER 8 7.68
#> # ℹ 6 more rows
#> # ℹ 5 more variables: EXPOSURE <dbl>, VARIANCE_DEATHS <dbl>,
#> # ACTUAL_TO_EXPECTED <dbl>, ACTUAL_TO_EXPOSED <dbl>,
#> # EXPECTED_TO_EXPOSED <dbl>
#>
#> # Use as.data.table()/as.data.frame()/as_tibble() to access results