FDA Table 33
Subjects With Adverse Events by Male-Specific OCMQ (Narrow) and Preferred Term, Male Safety Population, Pooled Analysis (or Trial X)
table
FDA
safety
adverse events
Code
# Load libraries & data -------------------------------------
library(dplyr)
library(cards)
library(gtsummary)
adsl <- random.cdisc.data::cadsl
adae <- random.cdisc.data::cadae
set.seed(1)
adae <- rename(adae, OCMQ01SC = SMQ01SC, OCMQ01NAM = SMQ01NAM)
levels(adae$OCMQ01SC) <- c("BROAD", "NARROW")
adae$OCMQ01SC[is.na(adae$OCMQ01SC)] <- "NARROW"
adae$OCMQ01NAM <- factor(adae$OCMQ01NAM, levels = c(unique(adae$OCMQ01NAM), "Erectile Dysfunction", "Gynecomastia"))
adae$OCMQ01NAM[adae$SEX == "M"] <- as.factor(sample(c("Erectile Dysfunction", "Gynecomastia"), sum(adae$SEX == "M"), replace = TRUE))
# Pre-processing --------------------------------------------
data <- adae |>
filter(
SAFFL == "Y",
SEX == "M",
OCMQ01SC == "NARROW"
) |>
select(OCMQ01SC, TRT01A, OCMQ01NAM, AEDECOD, USUBJID) |>
# setting an explicit level for NA values so empty strata combinations are shown.
mutate(across(everything(), ~ {
if (anyNA(.)) {
forcats::fct_na_value_to_level(as.factor(.), level = "<Missing>")
} else {
.
}
}))
# denominator values include only Male subjects in the arm with AEs
denom <- data |> distinct(USUBJID, TRT01A)
$tbl_hierarchical
{cards} data frame: 153 x 15
group1 group1_level group2 group2_level variable variable_level context stat_name stat_label stat stat_fmt fmt_fun warning error gts_column
1 <NA> <NA> TRT01A A: Drug X tabulate n n 49 49 0 stat_1
2 <NA> <NA> TRT01A A: Drug X tabulate N N 147 147 0 stat_1
3 <NA> <NA> TRT01A A: Drug X tabulate p % 0.333 33.3 <fn> stat_1
4 <NA> <NA> TRT01A B: Place… tabulate n n 43 43 0 stat_2
5 <NA> <NA> TRT01A B: Place… tabulate N N 147 147 0 stat_2
6 <NA> <NA> TRT01A B: Place… tabulate p % 0.293 29.3 <fn> stat_2
7 <NA> <NA> TRT01A C: Combi… tabulate n n 55 55 0 stat_3
8 <NA> <NA> TRT01A C: Combi… tabulate N N 147 147 0 stat_3
9 <NA> <NA> TRT01A C: Combi… tabulate p % 0.374 37.4 <fn> stat_3
10 TRT01A A: Drug X OCMQ01NAM Erectile… AEDECOD dcd A.1.… hierarch… n n 13 13 <fn> stat_1
ℹ 143 more rows
ℹ Use `print(n = ...)` to see more rows