Nothing
## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## ----message=FALSE------------------------------------------------------------
library(rtables)
library(tern)
library(dplyr)
## ----message=FALSE------------------------------------------------------------
adsl <- ex_adsl
adae <- ex_adae
adrs <- ex_adrs
## -----------------------------------------------------------------------------
# Select variables to include in table.
vars <- c("AGE", "SEX")
var_labels <- c("Age (yr)", "Sex")
basic_table() %>%
split_cols_by(var = "ARM") %>%
add_overall_col("All Patients") %>%
add_colcounts() %>%
analyze_vars(
vars = vars,
var_labels = var_labels
) %>%
build_table(adsl)
## -----------------------------------------------------------------------------
# Reorder the levels in the ARM variable.
adsl$ARM <- factor(adsl$ARM, levels = c("B: Placebo", "A: Drug X", "C: Combination"))
# Reorder the levels in the SEX variable.
adsl$SEX <- factor(adsl$SEX, levels = c("M", "F", "U", "UNDIFFERENTIATED"))
basic_table() %>%
split_cols_by(var = "ARM") %>%
add_overall_col("All Patients") %>%
add_colcounts() %>%
analyze_vars(
vars = vars,
var_labels = var_labels
) %>%
build_table(adsl)
## -----------------------------------------------------------------------------
# Select statistics and modify default formats.
basic_table() %>%
split_cols_by(var = "ARM") %>%
add_overall_col("All Patients") %>%
add_colcounts() %>%
analyze_vars(
vars = vars,
var_labels = var_labels,
.stats = c("n", "mean_sd", "count"),
.formats = c(mean_sd = "xx.xx (xx.xx)")
) %>%
build_table(adsl)
## -----------------------------------------------------------------------------
lyt <- basic_table() %>%
split_cols_by(var = "ARM") %>%
add_overall_col("All Patients") %>%
add_colcounts() %>%
analyze_vars(
vars = vars,
var_labels = var_labels
)
build_table(lyt, df = adsl %>% dplyr::filter(COUNTRY == "BRA"))
build_table(lyt, df = adsl %>% dplyr::filter(COUNTRY == "CHN"))
## -----------------------------------------------------------------------------
basic_table() %>%
split_cols_by(var = "ACTARM") %>%
add_colcounts() %>%
add_overall_col(label = "All Patients") %>%
summarize_num_patients(
var = "USUBJID",
.stats = c("unique", "nonunique"),
.labels = c(
unique = "Total number of patients with at least one AE",
nonunique = "Overall total number of events"
)
) %>%
build_table(
df = adae,
alt_counts_df = adsl
)
## -----------------------------------------------------------------------------
s_num_patients(x = adae$USUBJID, labelstr = "", .N_col = nrow(adae))
## -----------------------------------------------------------------------------
basic_table() %>%
split_cols_by(var = "ACTARM") %>%
add_colcounts() %>%
add_overall_col(label = "All Patients") %>%
summarize_num_patients(
var = "USUBJID",
.stats = "unique_count",
.labels = c(unique_count = "Total number of patients with at least one AE")
) %>%
build_table(
df = adae,
alt_counts_df = adsl
)
## -----------------------------------------------------------------------------
basic_table() %>%
split_cols_by(var = "ACTARM") %>%
add_colcounts() %>%
add_overall_col(label = "All Patients") %>%
summarize_num_patients(
var = "USUBJID",
.stats = c("unique", "nonunique"),
.labels = c(
unique = "Total number of patients with at least one AE",
nonunique = "Overall total number of events"
)
) %>%
split_rows_by(
"AEBODSYS",
child_labels = "visible",
nested = FALSE,
indent_mod = -1L,
split_fun = drop_split_levels
) %>%
summarize_num_patients(
var = "USUBJID",
.stats = c("unique", "nonunique"),
.labels = c(
unique = "Total number of patients with at least one AE",
nonunique = "Overall total number of events"
)
) %>%
build_table(
df = adae,
alt_counts_df = adsl
)
## -----------------------------------------------------------------------------
basic_table() %>%
split_cols_by(var = "ACTARM") %>%
add_colcounts() %>%
add_overall_col(label = "All Patients") %>%
count_occurrences(vars = "AEDECOD") %>%
build_table(
df = adae,
alt_counts_df = adsl
)
## -----------------------------------------------------------------------------
basic_table() %>%
split_cols_by(var = "ACTARM") %>%
add_colcounts() %>%
add_overall_col(label = "All Patients") %>%
summarize_num_patients(
var = "USUBJID",
.stats = c("unique", "nonunique"),
.labels = c(
unique = "Total number of patients with at least one AE",
nonunique = "Overall total number of events"
)
) %>%
split_rows_by(
"AEBODSYS",
child_labels = "visible",
nested = FALSE,
indent_mod = -1L,
split_fun = drop_split_levels
) %>%
summarize_num_patients(
var = "USUBJID",
.stats = c("unique", "nonunique"),
.labels = c(
unique = "Total number of patients with at least one AE",
nonunique = "Overall total number of events"
)
) %>%
count_occurrences(vars = "AEDECOD") %>%
build_table(
df = adae,
alt_counts_df = adsl
)
## -----------------------------------------------------------------------------
# Preprocessing to select an analysis endpoint.
anl <- adrs %>%
dplyr::filter(PARAMCD == "BESRSPI") %>%
dplyr::mutate(is_rsp = AVALC %in% c("CR", "PR"))
## -----------------------------------------------------------------------------
basic_table() %>%
split_cols_by(var = "ARM") %>%
add_colcounts() %>%
estimate_proportion(
vars = "is_rsp",
table_names = "est_prop"
) %>%
build_table(anl)
## -----------------------------------------------------------------------------
basic_table() %>%
split_cols_by(var = "ARM", ref_group = "B: Placebo") %>%
add_colcounts() %>%
estimate_proportion(
vars = "is_rsp"
) %>%
build_table(anl)
## -----------------------------------------------------------------------------
basic_table() %>%
split_cols_by(var = "ARM", ref_group = "B: Placebo") %>%
add_colcounts() %>%
estimate_proportion(
vars = "is_rsp",
method = "clopper-pearson",
conf_level = 0.9
) %>%
build_table(anl)
## -----------------------------------------------------------------------------
basic_table() %>%
split_cols_by(var = "ARM", ref_group = "B: Placebo") %>%
add_colcounts() %>%
estimate_proportion_diff(
vars = "is_rsp",
show_labels = "visible",
var_labels = "Unstratified Analysis"
) %>%
build_table(anl)
## -----------------------------------------------------------------------------
basic_table() %>%
split_cols_by(var = "ARM", ref_group = "B: Placebo") %>%
add_colcounts() %>%
test_proportion_diff(vars = "is_rsp") %>%
build_table(anl)
## -----------------------------------------------------------------------------
basic_table() %>%
split_cols_by(var = "ARM", ref_group = "B: Placebo") %>%
add_colcounts() %>%
test_proportion_diff(
vars = "is_rsp",
method = "schouten"
) %>%
build_table(anl)
## -----------------------------------------------------------------------------
basic_table() %>%
split_cols_by(var = "ARM", ref_group = "B: Placebo") %>%
add_colcounts() %>%
estimate_proportion(
vars = "is_rsp",
method = "clopper-pearson",
conf_level = 0.9,
table_names = "est_prop"
) %>%
estimate_proportion_diff(
vars = "is_rsp",
show_labels = "visible",
var_labels = "Unstratified Analysis",
table_names = "est_prop_diff"
) %>%
test_proportion_diff(
vars = "is_rsp",
method = "schouten",
table_names = "test_prop_diff"
) %>%
build_table(anl)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.