Estimate the event rate adjusted for person-years at risk, otherwise known as incidence rate. Primary analysis variable is the person-years at risk.
Usage
s_incidence_rate(
df,
.var,
n_events,
is_event,
control = control_incidence_rate()
)
a_incidence_rate(
df,
.var,
n_events,
is_event,
control = control_incidence_rate()
)
estimate_incidence_rate(
lyt,
vars,
...,
show_labels = "hidden",
table_names = vars,
.stats = NULL,
.formats = NULL,
.labels = NULL,
.indent_mods = NULL
)Arguments
- df
(
data.frame)
data set containing all analysis variables.- .var
(
string)
single variable name that is passed byrtableswhen requested by a statistics function.- n_events
(
integer)
number of events observed.- is_event
(
logical)TRUEif event,FALSEif time to event is censored.- control
-
(
list)
parameters for estimation details, specified by using the helper functioncontrol_incidence_rate(). Possible parameter options are:conf_level(proportion)
confidence level for the estimated incidence rate.conf_type(string)normal(default),normal_log,exact, orbyarfor confidence interval type.time_unit_input(string)day,week,month, oryear(default) indicating time unit for data input.time_unit_output(numeric)
time unit for desired output (in person-years).
- lyt
(
layout)
input layout where analyses will be added to.- vars
(
character)
variable names for the primary analysis variable to be iterated over.- ...
additional arguments for the lower level functions.
- show_labels
label visibility: one of "default", "visible" and "hidden".
- table_names
(
character)
this can be customized in case that the samevarsare analyzed multiple times, to avoid warnings fromrtables.- .stats
(
character)
statistics to select for the table.- .formats
(named
characterorlist)
formats for the statistics.- .labels
(named
character)
labels for the statistics (without indent).- .indent_mods
(named
integer)
indent modifiers for the labels.- person_years
(
numeric)
total person-years at risk.- alpha
(
numeric)
two-sided alpha-level for confidence interval.
Value
The statistics are:
- person_years
total person-years at risk
- n_events
total number of events observed
- rate
estimated incidence rate
- rate_ci
confidence interval for the incidence rate
Functions
s_incidence_rate(): Statistics function which estimates the incidence rate and the associated confidence interval.a_incidence_rate(): Formatted Analysis function which can be further customized by callingrtables::make_afun()on it. It is used asafuninrtables::analyze().estimate_incidence_rate(): Layout creating function which adds analyze rows using the statistics functions_incidence_rateand desired format.
See also
control_incidence_rate() and helper functions h_incidence_rate.
Examples
library(dplyr)
df <- data.frame(
USUBJID = as.character(seq(6)),
CNSR = c(0, 1, 1, 0, 0, 0),
AVAL = c(10.1, 20.4, 15.3, 20.8, 18.7, 23.4),
ARM = factor(c("A", "A", "A", "B", "B", "B"))
) %>%
mutate(is_event = CNSR == 0) %>%
mutate(n_events = as.integer(is_event))
# Internal function - s_incidence_rate
if (FALSE) {
s_incidence_rate(
df,
.var = "AVAL",
n_events = "n_events",
control = control_incidence_rate(
time_unit_input = "month",
time_unit_output = 100
)
)
}
# Internal function - a_incidence_rate
if (FALSE) {
a_incidence_rate(
df,
.var = "AVAL",
n_events = "n_events",
control = control_incidence_rate(time_unit_input = "month", time_unit_output = 100)
)
}
basic_table() %>%
split_cols_by("ARM") %>%
add_colcounts() %>%
estimate_incidence_rate(
vars = "AVAL",
n_events = "n_events",
control = control_incidence_rate(
time_unit_input = "month",
time_unit_output = 100
)
) %>%
build_table(df)
#> A B
#> (N=3) (N=3)
#> —————————————————————————————————————————————————————————————————————
#> Total patient-years at risk 3.8 5.2
#> Number of adverse events observed 1 3
#> AE rate per 100 patient-years 26.20 57.23
#> 95% CI (-25.15, 77.55) (-7.53, 122.00)