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
expstudy
object with multiple columns per.metrics
argument
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