cardinal
  • Home
  • Template Catalog
  • About
  • Resources
  • Help
    • Getting Started
    • Report a Bug
    • FAQ

FDA Table 29

Subjects With Serious Adverse Events by Organ System, OCMQ (Narrow) and Preferred Term, Safety Population, Pooled Analysis (or Trial X)

table
FDA
safety
adverse events
  • Table Preview
  • Setup
  • Build ARD
  • Build Table

Code
# Load libraries & data -------------------------------------
library(dplyr)
library(cards)
library(gtsummary)

adae <- random.cdisc.data::cadae
adsl <- random.cdisc.data::cadsl

set.seed(1)
adae <- adae |>
  rename(OCMQ01SC = SMQ01SC) |>
  mutate(
    AESER = sample(c("Y", "N"), size = nrow(adae), replace = TRUE),
    OCMQ01NAM = sample(c("OCMQ1", "OCMQ2", "OCMQ3"), size = nrow(adae), replace = TRUE)
  )
adae$OCMQ01SC[is.na(adae$OCMQ01SC)] <- "NARROW"

# Pre-processing --------------------------------------------
adsl <- adsl |>
  filter(SAFFL == "Y") # safety population

data <- adae |>
  filter(
    # safety population
    SAFFL == "Y",
    # serious AEs
    AESER == "Y",
    # treatment-emergent
    TRTEMFL == "Y",
    # narrow OCMQ scope
    OCMQ01SC == "NARROW"
  )
Code
ard <- ard_stack_hierarchical(
  data,
  variables = c(AEBODSYS, OCMQ01NAM, AEDECOD),
  by = TRT01A,
  id = USUBJID,
  denominator = adsl,
  # variables to include AE rates for
  include = c(OCMQ01NAM, AEDECOD)
)

ard
{cards} data frame: 387 x 15
   group1 group1_level   group2 group2_level    group3 group3_level  variable variable_level   context stat_name stat_label  stat fmt_fun warning error
1    <NA>                  <NA>                   <NA>                 TRT01A      A: Drug X  tabulate         n          n   134       0              
2    <NA>                  <NA>                   <NA>                 TRT01A      A: Drug X  tabulate         N          N   400       0              
3    <NA>                  <NA>                   <NA>                 TRT01A      A: Drug X  tabulate         p          % 0.335    <fn>              
4    <NA>                  <NA>                   <NA>                 TRT01A      B: Place…  tabulate         n          n   134       0              
5    <NA>                  <NA>                   <NA>                 TRT01A      B: Place…  tabulate         N          N   400       0              
6    <NA>                  <NA>                   <NA>                 TRT01A      B: Place…  tabulate         p          % 0.335    <fn>              
7    <NA>                  <NA>                   <NA>                 TRT01A      C: Combi…  tabulate         n          n   132       0              
8    <NA>                  <NA>                   <NA>                 TRT01A      C: Combi…  tabulate         N          N   400       0              
9    <NA>                  <NA>                   <NA>                 TRT01A      C: Combi…  tabulate         p          %  0.33    <fn>              
10 TRT01A    A: Drug X AEBODSYS       cl A.1      <NA>              OCMQ01NAM          OCMQ1 hierarch…         n          n    17       0              
11 TRT01A    A: Drug X AEBODSYS       cl A.1      <NA>              OCMQ01NAM          OCMQ1 hierarch…         N          N   134       0              
12 TRT01A    A: Drug X AEBODSYS       cl A.1      <NA>              OCMQ01NAM          OCMQ1 hierarch…         p          % 0.127    <fn>              
13 TRT01A    B: Place… AEBODSYS       cl A.1      <NA>              OCMQ01NAM          OCMQ1 hierarch…         n          n    14       0              
14 TRT01A    B: Place… AEBODSYS       cl A.1      <NA>              OCMQ01NAM          OCMQ1 hierarch…         N          N   134       0              
15 TRT01A    B: Place… AEBODSYS       cl A.1      <NA>              OCMQ01NAM          OCMQ1 hierarch…         p          % 0.104    <fn>              
16 TRT01A    C: Combi… AEBODSYS       cl A.1      <NA>              OCMQ01NAM          OCMQ1 hierarch…         n          n    29       0              
17 TRT01A    C: Combi… AEBODSYS       cl A.1      <NA>              OCMQ01NAM          OCMQ1 hierarch…         N          N   132       0              
18 TRT01A    C: Combi… AEBODSYS       cl A.1      <NA>              OCMQ01NAM          OCMQ1 hierarch…         p          %  0.22    <fn>              
19 TRT01A    A: Drug X AEBODSYS       cl A.1 OCMQ01NAM        OCMQ1   AEDECOD      dcd A.1.… hierarch…         n          n     7       0              
20 TRT01A    A: Drug X AEBODSYS       cl A.1 OCMQ01NAM        OCMQ1   AEDECOD      dcd A.1.… hierarch…         N          N   134       0              
21 TRT01A    A: Drug X AEBODSYS       cl A.1 OCMQ01NAM        OCMQ1   AEDECOD      dcd A.1.… hierarch…         p          % 0.052    <fn>              
22 TRT01A    B: Place… AEBODSYS       cl A.1 OCMQ01NAM        OCMQ1   AEDECOD      dcd A.1.… hierarch…         n          n     6       0              
23 TRT01A    B: Place… AEBODSYS       cl A.1 OCMQ01NAM        OCMQ1   AEDECOD      dcd A.1.… hierarch…         N          N   134       0              
24 TRT01A    B: Place… AEBODSYS       cl A.1 OCMQ01NAM        OCMQ1   AEDECOD      dcd A.1.… hierarch…         p          % 0.045    <fn>              
25 TRT01A    C: Combi… AEBODSYS       cl A.1 OCMQ01NAM        OCMQ1   AEDECOD      dcd A.1.… hierarch…         n          n    13       0              
26 TRT01A    C: Combi… AEBODSYS       cl A.1 OCMQ01NAM        OCMQ1   AEDECOD      dcd A.1.… hierarch…         N          N   132       0              
27 TRT01A    C: Combi… AEBODSYS       cl A.1 OCMQ01NAM        OCMQ1   AEDECOD      dcd A.1.… hierarch…         p          % 0.098    <fn>              
28 TRT01A    A: Drug X AEBODSYS       cl A.1 OCMQ01NAM        OCMQ1   AEDECOD      dcd A.1.… hierarch…         n          n    12       0              
29 TRT01A    A: Drug X AEBODSYS       cl A.1 OCMQ01NAM        OCMQ1   AEDECOD      dcd A.1.… hierarch…         N          N   134       0              
30 TRT01A    A: Drug X AEBODSYS       cl A.1 OCMQ01NAM        OCMQ1   AEDECOD      dcd A.1.… hierarch…         p          %  0.09    <fn>              
31 TRT01A    B: Place… AEBODSYS       cl A.1 OCMQ01NAM        OCMQ1   AEDECOD      dcd A.1.… hierarch…         n          n     8       0              
32 TRT01A    B: Place… AEBODSYS       cl A.1 OCMQ01NAM        OCMQ1   AEDECOD      dcd A.1.… hierarch…         N          N   134       0              
33 TRT01A    B: Place… AEBODSYS       cl A.1 OCMQ01NAM        OCMQ1   AEDECOD      dcd A.1.… hierarch…         p          %  0.06    <fn>              
34 TRT01A    C: Combi… AEBODSYS       cl A.1 OCMQ01NAM        OCMQ1   AEDECOD      dcd A.1.… hierarch…         n          n    18       0              
35 TRT01A    C: Combi… AEBODSYS       cl A.1 OCMQ01NAM        OCMQ1   AEDECOD      dcd A.1.… hierarch…         N          N   132       0              
36 TRT01A    C: Combi… AEBODSYS       cl A.1 OCMQ01NAM        OCMQ1   AEDECOD      dcd A.1.… hierarch…         p          % 0.136    <fn>              
37 TRT01A    A: Drug X AEBODSYS       cl A.1      <NA>              OCMQ01NAM          OCMQ2 hierarch…         n          n    23       0              
38 TRT01A    A: Drug X AEBODSYS       cl A.1      <NA>              OCMQ01NAM          OCMQ2 hierarch…         N          N   134       0              
39 TRT01A    A: Drug X AEBODSYS       cl A.1      <NA>              OCMQ01NAM          OCMQ2 hierarch…         p          % 0.172    <fn>              
40 TRT01A    B: Place… AEBODSYS       cl A.1      <NA>              OCMQ01NAM          OCMQ2 hierarch…         n          n    20       0              
ℹ 347 more rows
ℹ Use `print(n = ...)` to see more rows
Code
# create table using ARD-first approach (ARD -> table)
tbl <-
  tbl_ard_hierarchical(
    ard,
    variables = c(AEBODSYS, OCMQ01NAM, AEDECOD),
    by = TRT01A,
    # variables to display AE rates for
    include = c(OCMQ01NAM, AEDECOD)
  ) |>
  # add custom variable label
  modify_header(label = "**Organ System**")

tbl

Source Code
---
title: FDA Table 29
subtitle: Subjects With Serious Adverse Events by Organ System, OCMQ (Narrow) and Preferred Term, Safety Population, Pooled Analysis (or Trial X)
categories: [table, FDA, safety, adverse events]
---

::: panel-tabset
## Table Preview

```{r img, echo=FALSE, fig.align='center', out.width='45%'}
knitr::include_graphics("result.png")
```

## Setup

```{r setup, message=FALSE}
# Load libraries & data -------------------------------------
library(dplyr)
library(cards)
library(gtsummary)

adae <- random.cdisc.data::cadae
adsl <- random.cdisc.data::cadsl

set.seed(1)
adae <- adae |>
  rename(OCMQ01SC = SMQ01SC) |>
  mutate(
    AESER = sample(c("Y", "N"), size = nrow(adae), replace = TRUE),
    OCMQ01NAM = sample(c("OCMQ1", "OCMQ2", "OCMQ3"), size = nrow(adae), replace = TRUE)
  )
adae$OCMQ01SC[is.na(adae$OCMQ01SC)] <- "NARROW"

# Pre-processing --------------------------------------------
adsl <- adsl |>
  filter(SAFFL == "Y") # safety population

data <- adae |>
  filter(
    # safety population
    SAFFL == "Y",
    # serious AEs
    AESER == "Y",
    # treatment-emergent
    TRTEMFL == "Y",
    # narrow OCMQ scope
    OCMQ01SC == "NARROW"
  )
```

## Build ARD

```{r ard, message=FALSE, warning=FALSE, results='hide'}
ard <- ard_stack_hierarchical(
  data,
  variables = c(AEBODSYS, OCMQ01NAM, AEDECOD),
  by = TRT01A,
  id = USUBJID,
  denominator = adsl,
  # variables to include AE rates for
  include = c(OCMQ01NAM, AEDECOD)
)

ard
```

```{r, echo=FALSE}
# Print ARD
withr::local_options(width = 9999)
print(ard, columns = "all", n = 40)
```

## Build Table

```{r tbl, results = 'hide'}
# create table using ARD-first approach (ARD -> table)
tbl <-
  tbl_ard_hierarchical(
    ard,
    variables = c(AEBODSYS, OCMQ01NAM, AEDECOD),
    by = TRT01A,
    # variables to display AE rates for
    include = c(OCMQ01NAM, AEDECOD)
  ) |>
  # add custom variable label
  modify_header(label = "**Organ System**")

tbl
```

```{r eval=FALSE, include=FALSE}
gt::gtsave(as_gt(tbl), filename = "result.png")
```

```{r img, echo=FALSE, fig.align='center', out.width='45%'}
```
:::
 
  • This website as well as code examples are licensed under the Apache License, Version 2.0.
Cookie Preferences