Calculate descriptive summary statistics for a numeric variable
calc_desc.Rd
calc_desc()
summarises a numeric variable (target
) by another (treat
) and
reports summary statistics in clinical trial reporting format. The following
statistics are calculated for target
, per group, i.e. by variable treat
levels:
n
: number of observationsMean (SD)
: mean and standard deviation oftarget
Median
: median oftarget
Min, Max
: minimum and maximum oftarget
Missing
: number of missingtarget
values
Usage
calc_desc(
dt,
target,
target_name = target,
treat,
indent = nbsp(n = 4L),
pct_dec = 1
)
Arguments
- dt
A
data.frame
containing, at least, the variables indicated intarget
andtreat
.- target
Target variable passed as a string for which summary statistics are to be calculated.
- target_name
Heading for the target variable as a string. Defaults to
target
.- treat
A string indicating the grouping variable, e.g. the variable specifying the treatment population.
- indent
A string to be used as indentation of summary statistics labels. Defaults to four HTML non-breaking spaces (
).- pct_dec
Decimal places for reported figures.
Value
A list containing a data.table
formatted as follows:
First column is named
stats
and contains the target variable name indicated intarget
in the first row. Subsequent rows contain the summarised statistics labels.Other columns are for the levels of the grouping variable (
treat
).All columns are of character type.
This table is structured for easy integration with Shiny output widgets.
Examples
# Calculate summary statistics for the age of the subjects in each region.
calc_stats(dt = adsl, "AGE", treat = "REGION1")[[1]]
#> stats Africa Asia Eurasia
#> <char> <char> <char> <char>
#> 1: AGE
#> 2: n 26 268 19
#> 3: Mean (SD) 32.3 (7.7) 34.6 (6.9) 35.9 (8.3)
#> 4: Median 31 34 36
#> 5: Min, Max 20.0, 50.0 21.0, 58.0 25.0, 58.0
#> 6: Missing 0 0 0
#> Europe North America South America
#> <char> <char> <char>
#> 1:
#> 2: 9 48 30
#> 3: 38.4 (16.1) 36.2 (6.8) 36.1 (8.1)
#> 4: 30 35 35.5
#> 5: 26.0, 69.0 24.0, 57.0 24.0, 64.0
#> 6: 0 0 0
# Calculate summary statistics for biomarker 1 in each of the three arms
# (`ARM`).
calc_stats(dt = adsl, "BMRKR1", treat = "ARM")[[1]]
#> stats A: Drug X B: Placebo C: Combination
#> <char> <char> <char> <char>
#> 1: BMRKR1
#> 2: n 134 134 132
#> 3: Mean (SD) 6.0 (3.6) 5.7 (3.3) 5.6 (3.5)
#> 4: Median 5.4 4.8 4.6
#> 5: Min, Max 0.4, 17.7 0.6, 14.2 0.2, 21.4
#> 6: Missing 0 0 0