set.seed(1)
toy_adsl <- tibble::tibble(
USUBJID = sprintf("ID%03d", 1:60),
TRTAN = sample(c(1, 2), size = 60, replace = TRUE),
AGE = sample(18:85, size = 60, replace = TRUE),
SEX = sample(c("Male", "Female"), size = 60, replace = TRUE),
ETHNIC = sample(
c("Hispanic or Latino",
"Not Hispanic or Latino",
"Unknown",
NA_character_),
size = 60, replace = TRUE
)
) |>
dplyr::mutate(
AGEGR1 = dplyr::case_when(
AGE < 65 ~ "<65 years",
AGE >= 65 & AGE < 75 ~ "65–<75 years",
AGE >= 75 ~ ">=75 years"
)
)
toy_dm <- toy_adsl |>
dplyr::select(USUBJID, TRTAN)
freq_by(
data = toy_adsl,
denom_data = toy_dm,
main_group = "TRTAN",
last_group = "AGEGR1",
label = "Age group, n (%)",
sec_ord = 1,
fmt = NULL,
na_to_code = NULL
)
freq_by(
data = toy_adsl,
denom_data = toy_dm,
main_group = "TRTAN",
last_group = "SEX",
label = "Sex, n (%)",
sec_ord = 2,
fmt = NULL,
na_to_code = "99"
)
fmt_ethnic <- c(
"Hispanic or Latino" = "Hispanic or Latino",
"Not Hispanic or Latino" = "Not Hispanic or Latino",
"Unknown" = "Unknown",
"99" = "Missing"
)
freq_by(
data = toy_adsl,
denom_data = toy_dm,
main_group = "TRTAN",
last_group = "ETHNIC",
label = "Ethnic group, n (%)",
sec_ord = 3,
fmt = fmt_ethnic,
include_all_fmt_levels = TRUE,
na_to_code = "99"
)
Run the code above in your browser using DataLab