Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update safety table templates with modifications from chevron #67

Merged
merged 10 commits into from
Aug 3, 2023
36 changes: 10 additions & 26 deletions book/tables/safety/cmt01a.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@ adsl <- adsl %>%
filter(SAFFL == "Y")

adcm <- adcm %>%
filter(SAFFL == "Y" & ATIREL == "CONCOMITANT")
filter(SAFFL == "Y" & ATIREL == "CONCOMITANT") %>%
var_relabel(CMDECOD = "Other Treatment")
```

## Standard Table, <br/> Safety-Evaluable Patients
Expand All @@ -43,7 +44,7 @@ adcm <- adcm %>%
split_fun <- drop_split_levels

lyt <- basic_table(show_colcounts = TRUE) %>%
split_cols_by("ARM") %>%
split_cols_by("ACTARM") %>%
analyze_num_patients(
vars = "USUBJID",
count_by = "CMSEQ",
Expand Down Expand Up @@ -73,11 +74,7 @@ lyt <- basic_table(show_colcounts = TRUE) %>%
count_occurrences(vars = "CMDECOD", .indent_mods = -1L) %>%
append_varlabels(adcm, "CMDECOD", indent = 1L)

result <- build_table(
lyt = lyt,
df = adcm,
alt_counts_df = adsl
) %>%
result <- build_table(lyt = lyt, df = adcm, alt_counts_df = adsl) %>%
prune_table() %>%
# Sort lowest level terms by descending frequency.
sort_at_path(
Expand All @@ -94,7 +91,7 @@ result
split_fun <- drop_split_levels

lyt <- basic_table(show_colcounts = TRUE) %>%
split_cols_by("ARM") %>%
split_cols_by("ACTARM") %>%
analyze_num_patients(
vars = "USUBJID",
count_by = "CMSEQ",
Expand Down Expand Up @@ -124,11 +121,7 @@ lyt <- basic_table(show_colcounts = TRUE) %>%
count_occurrences(vars = "CMDECOD", .indent_mods = -1L) %>%
append_varlabels(adcm, "CMDECOD", indent = 1L)

result <- build_table(
lyt = lyt,
df = adcm,
alt_counts_df = adsl
) %>%
result <- build_table(lyt = lyt, df = adcm, alt_counts_df = adsl) %>%
prune_table() %>%
# Sort lowest level terms by descending frequency.
sort_at_path(
Expand All @@ -145,7 +138,7 @@ result
split_fun <- drop_split_levels

lyt <- basic_table(show_colcounts = TRUE) %>%
split_cols_by("ARM") %>%
split_cols_by("ACTARM") %>%
analyze_num_patients(
vars = "USUBJID",
count_by = "CMSEQ",
Expand Down Expand Up @@ -175,11 +168,7 @@ lyt <- basic_table(show_colcounts = TRUE) %>%
count_occurrences(vars = "CMDECOD", .indent_mods = -1L) %>%
append_varlabels(adcm, "CMDECOD", indent = 1L)

result <- build_table(
lyt = lyt,
df = adcm,
alt_counts_df = adsl
) %>%
result <- build_table(lyt = lyt, df = adcm, alt_counts_df = adsl) %>%
prune_table() %>%
sort_at_path(path = c("ATC2"), scorefun = cont_n_allcols) %>%
sort_at_path(path = c("ATC2", "*", "CMDECOD"), scorefun = score_occurrences)
Expand All @@ -193,7 +182,7 @@ result
split_fun <- drop_split_levels

lyt <- basic_table(show_colcounts = TRUE) %>%
split_cols_by("ARM") %>%
split_cols_by("ACTARM") %>%
analyze_num_patients(
vars = "USUBJID",
count_by = "CMSEQ",
Expand Down Expand Up @@ -222,11 +211,7 @@ lyt <- basic_table(show_colcounts = TRUE) %>%
count_occurrences(vars = "CMDECOD", .indent_mods = -1L) %>%
append_varlabels(adcm, "CMDECOD", indent = 1L)

result <- build_table(
lyt = lyt,
df = adcm,
alt_counts_df = adsl
) %>%
result <- build_table(lyt = lyt, df = adcm, alt_counts_df = adsl) %>%
prune_table() %>%
# Sort lowest level terms by descending frequency.
sort_at_path(
Expand Down Expand Up @@ -305,5 +290,4 @@ shinyApp(app$ui, app$server)
```

{{< include ../../si.qmd >}}

:::
16 changes: 5 additions & 11 deletions book/tables/safety/cmt02_pt.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,8 @@ adcm$CMSEQ <- as.factor(adcm$CMSEQ)

# Ensure character variables are converted to factors and empty strings and NAs are explicit missing levels.
# If you want your missing levels to show as "No Coding Available", please use
# adsl <- df_explicit_na(adsl, na_level = "No Coding Available")
# adcm <- df_explicit_na(adcm, na_level = "No Coding Available")
adsl <- df_explicit_na(adsl)
adcm <- df_explicit_na(adcm)
adsl <- df_explicit_na(adsl, na_level = "No Coding Available")
adcm <- df_explicit_na(adcm, na_level = "No Coding Available")

# Keep only safety-evaluable patients and concomitant medications
adsl <- adsl %>%
Expand All @@ -43,7 +41,7 @@ adcm <- adcm %>% filter(ATIREL == "CONCOMITANT")
split_fun <- drop_split_levels

lyt <- basic_table(show_colcounts = TRUE) %>%
split_cols_by("ARM") %>%
split_cols_by("ACTARM") %>%
add_overall_col("All Patients") %>%
analyze_num_patients(
vars = "USUBJID",
Expand All @@ -56,13 +54,9 @@ lyt <- basic_table(show_colcounts = TRUE) %>%
show_labels = "hidden"
) %>%
count_occurrences(vars = "CMDECOD") %>%
append_varlabels(adcm, "CMDECOD", indent = 0)
append_topleft(paste("\nOther Treatment"))

result <- build_table(
lyt = lyt,
df = adcm,
alt_counts_df = adsl
) %>%
result <- build_table(lyt = lyt, df = adcm, alt_counts_df = adsl) %>%
sort_at_path(
path = c("CMDECOD"),
scorefun = score_occurrences
Expand Down
34 changes: 21 additions & 13 deletions book/tables/safety/dmt01.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ adsl <- adsl %>%
SEX == "U" ~ "Unknown",
SEX == "UNDIFFERENTIATED" ~ "Undifferentiated"
)),
AGEGRP = factor(
AGEGR1 = factor(
case_when(
between(AGE, 18, 40) ~ "18-40",
between(AGE, 41, 64) ~ "41-64",
Expand Down Expand Up @@ -79,52 +79,58 @@ get_param_adsub <- function(pname, plabel) {
ds
}
adsl <- adsl %>%
left_join(get_param_advs("SBP", "Systolic Blood Pressure")) %>%
left_join(get_param_advs("DBP", "Diastolic Blood Pressure")) %>%
left_join(get_param_advs("WGT", "Weight")) %>%
left_join(get_param_adsub("BBMISI", "Baseline BMI"))
left_join(get_param_advs("SBP", "Systolic Blood Pressure"), by = "USUBJID") %>%
left_join(get_param_advs("DBP", "Diastolic Blood Pressure"), by = "USUBJID") %>%
left_join(get_param_advs("WGT", "Weight"), by = "USUBJID") %>%
left_join(get_param_adsub("BBMISI", "Baseline BMI"), by = "USUBJID")
```

## Table with an Additional <br/> Study-Specific Continuous Variable

```{r variant1, test = list(result_v1 = "result")}
vars <- c("AGE", "SEX", "RACE", "BMRKR1")
vars <- c("AGE", "AGEGR1", "SEX", "ETHNIC", "RACE", "BMRKR1")
var_labels <- c(
"Age (yr)",
"Age Group",
"Sex",
"Ethnicity",
"Race",
"Continous Level Biomarker 1"
)

result <- basic_table(show_colcounts = TRUE) %>%
split_cols_by(var = "ARM") %>%
split_cols_by(var = "ACTARM") %>%
add_overall_col("All Patients") %>%
summarize_vars(
vars = vars,
var_labels = var_labels
) %>%
build_table(adsl)

result
```

## Table with an Additional <br/> Study-Specific Categorical Variable

```{r variant2, test = list(result_v2 = "result")}
vars <- c("AGE", "SEX", "RACE", "BMRKR1_CAT")
vars <- c("AGE", "AGEGR1", "SEX", "ETHNIC", "RACE", "BMRKR1_CAT")
var_labels <- c(
"Age (yr)",
"Age Group",
"Sex",
"Ethnicity",
"Race",
"Biomarker 1 Categories"
)

result <- basic_table(show_colcounts = TRUE) %>%
split_cols_by(var = "ARM") %>%
split_cols_by(var = "ACTARM") %>%
summarize_vars(
vars = vars,
var_labels = var_labels
) %>%
build_table(adsl)

result
```

Expand All @@ -134,7 +140,7 @@ result
split_fun <- drop_split_levels

result <- basic_table(show_colcounts = TRUE) %>%
split_cols_by(var = "ARM") %>%
split_cols_by(var = "ACTARM") %>%
summarize_vars(
vars = c("AGE", "SEX", "RACE"),
var_labels = c("Age", "Sex", "Race")
Expand All @@ -144,14 +150,15 @@ result <- basic_table(show_colcounts = TRUE) %>%
) %>%
summarize_vars("BMRKR1") %>%
build_table(adsl)

result
```

## Table with Additional Vital <br/> Signs Baseline Values

```{r variant4, test = list(result_v4 = "result")}
result <- basic_table(show_colcounts = TRUE) %>%
split_cols_by(var = "ARM") %>%
split_cols_by(var = "ACTARM") %>%
summarize_vars(
vars = c("AGE", "SEX", "RACE", "DBP", "SBP"),
var_labels = c(
Expand All @@ -163,14 +170,15 @@ result <- basic_table(show_colcounts = TRUE) %>%
)
) %>%
build_table(adsl)

result
```

## Table with Additional <br/> Values from ADSUB

```{r variant5, test = list(result_v5 = "result")}
result <- basic_table(show_colcounts = TRUE) %>%
split_cols_by(var = "ARM") %>%
split_cols_by(var = "ACTARM") %>%
summarize_vars(
vars = c("AGE", "SEX", "RACE", "BBMISI"),
var_labels = c(
Expand All @@ -181,6 +189,7 @@ result <- basic_table(show_colcounts = TRUE) %>%
)
) %>%
build_table(adsl)

result
```

Expand Down Expand Up @@ -226,5 +235,4 @@ shinyApp(app$ui, app$server)
```

{{< include ../../si.qmd >}}

:::
Loading