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

Subject Populations, Randomized Population, Pooled Analysis (or Trial X)

FDA Table 04

table
FDA
safety
disposition

FDA IG Shell

FDA IG example table shell

Programming Notes

Background and Instructions

The following trial populations are reflected in Table 4: Subject Populations below:

• Intent-to-treat population (ITT): Includes every subject who is randomized according to randomized trial arm assignment.

• Modified intent-to-treat population (mITT): Subset of the intent-to-treat population that excludes a predefined subject population.

• Safety population: All subjects considered in the safety analyses who received at least one dose of the study drug in the trials or studies submitted.

• Per-protocol population: Only those subjects who completed the treatment originally allocated and planned without specified protocol violations.

Customization

N/A (per FDA IG)

Output

  • Full Code
  • Table
  • ARD
Code
# FDA TABLE 04 ---------------------------------------------------------------
# Self-contained template. Run top-to-bottom to build the objects below.
# Used by tests via run_template() and published in the catalog.

library(dplyr)
library(gtsummary)

adsl <- pharmaverseadam::adsl |>
  filter(TRT01A != "Screen Failure") # Remove screen failure observations

# Pre-processing --------------------------------------------
pop_vars <- c("rand_fl", "ITTFL", "SAFFL", "prot_fl")
lbl_pop_vars <- c("Subjects randomized", "ITT population", "Safety population", "Per-protocol population")

data <- adsl |>
  mutate(
    across(all_of("SAFFL"), ~ . == "Y"),
    ITTFL = !is.na(RANDDT),
    rand_fl = !is.na(RANDDT),
    prot_fl = EOSSTT == "COMPLETED"
  )

tbl <- data |>
  tbl_summary(
    by = "TRT01A",
    statistic = list(all_dichotomous() ~ "{n} ({p}%)"),
    include = all_of(pop_vars),
    digits = list(all_categorical() ~ c(0, 1)),
    label = as.list(lbl_pop_vars) |> setNames(pop_vars)
  ) |>
  # Define which variables are children of parent variables
  modify_indent(
    columns = "label",
    rows = variable != "rand_fl",
    indent = 4L
  ) |>
  modify_header(label = "**Population**")


ard <- gtsummary::gather_ard(tbl)
Code
tbl
Population Placebo
N = 861
Xanomeline High Dose
N = 721
Xanomeline Low Dose
N = 961
Subjects randomized 86 (100.0%) 72 (100.0%) 96 (100.0%)
    ITT population 86 (100.0%) 72 (100.0%) 96 (100.0%)
    Safety population 86 (100.0%) 72 (100.0%) 96 (100.0%)
    Per-protocol population 58 (67.4%) 27 (37.5%) 25 (26.0%)
1 n (%)
Code
withr::local_options(width = 9999, tibble.print_max = Inf)
print(ard, columns = "all")
$tbl_summary
# An ARD data frame: 116 × 12
    group1 group1_level         variable        variable_level       context        stat_name stat_label     stat                           fmt_fun warning error  gts_column
    <chr>  <list>               <chr>           <list>               <chr>          <chr>     <chr>          <list>                         <list>  <list>  <list> <chr>     
  1 TRT01A Placebo              SAFFL           TRUE                 tabulate_value n         n              86                             <fn>    <NULL>  <NULL> stat_1    
  2 TRT01A Placebo              SAFFL           TRUE                 tabulate_value N         N              86                             0       <NULL>  <NULL> stat_1    
  3 TRT01A Placebo              SAFFL           TRUE                 tabulate_value p         %              1                              <fn>    <NULL>  <NULL> stat_1    
  4 TRT01A Placebo              ITTFL           TRUE                 tabulate_value n         n              86                             <fn>    <NULL>  <NULL> stat_1    
  5 TRT01A Placebo              ITTFL           TRUE                 tabulate_value N         N              86                             0       <NULL>  <NULL> stat_1    
  6 TRT01A Placebo              ITTFL           TRUE                 tabulate_value p         %              1                              <fn>    <NULL>  <NULL> stat_1    
  7 TRT01A Placebo              rand_fl         TRUE                 tabulate_value n         n              86                             <fn>    <NULL>  <NULL> stat_1    
  8 TRT01A Placebo              rand_fl         TRUE                 tabulate_value N         N              86                             0       <NULL>  <NULL> stat_1    
  9 TRT01A Placebo              rand_fl         TRUE                 tabulate_value p         %              1                              <fn>    <NULL>  <NULL> stat_1    
 10 TRT01A Placebo              prot_fl         TRUE                 tabulate_value n         n              58                             <fn>    <NULL>  <NULL> stat_1    
 11 TRT01A Placebo              prot_fl         TRUE                 tabulate_value N         N              86                             0       <NULL>  <NULL> stat_1    
 12 TRT01A Placebo              prot_fl         TRUE                 tabulate_value p         %              0.6744186                      <fn>    <NULL>  <NULL> stat_1    
 13 TRT01A Xanomeline High Dose SAFFL           TRUE                 tabulate_value n         n              72                             <fn>    <NULL>  <NULL> stat_2    
 14 TRT01A Xanomeline High Dose SAFFL           TRUE                 tabulate_value N         N              72                             0       <NULL>  <NULL> stat_2    
 15 TRT01A Xanomeline High Dose SAFFL           TRUE                 tabulate_value p         %              1                              <fn>    <NULL>  <NULL> stat_2    
 16 TRT01A Xanomeline High Dose ITTFL           TRUE                 tabulate_value n         n              72                             <fn>    <NULL>  <NULL> stat_2    
 17 TRT01A Xanomeline High Dose ITTFL           TRUE                 tabulate_value N         N              72                             0       <NULL>  <NULL> stat_2    
 18 TRT01A Xanomeline High Dose ITTFL           TRUE                 tabulate_value p         %              1                              <fn>    <NULL>  <NULL> stat_2    
 19 TRT01A Xanomeline High Dose rand_fl         TRUE                 tabulate_value n         n              72                             <fn>    <NULL>  <NULL> stat_2    
 20 TRT01A Xanomeline High Dose rand_fl         TRUE                 tabulate_value N         N              72                             0       <NULL>  <NULL> stat_2    
 21 TRT01A Xanomeline High Dose rand_fl         TRUE                 tabulate_value p         %              1                              <fn>    <NULL>  <NULL> stat_2    
 22 TRT01A Xanomeline High Dose prot_fl         TRUE                 tabulate_value n         n              27                             <fn>    <NULL>  <NULL> stat_2    
 23 TRT01A Xanomeline High Dose prot_fl         TRUE                 tabulate_value N         N              72                             0       <NULL>  <NULL> stat_2    
 24 TRT01A Xanomeline High Dose prot_fl         TRUE                 tabulate_value p         %              0.375                          <fn>    <NULL>  <NULL> stat_2    
 25 TRT01A Xanomeline Low Dose  SAFFL           TRUE                 tabulate_value n         n              96                             <fn>    <NULL>  <NULL> stat_3    
 26 TRT01A Xanomeline Low Dose  SAFFL           TRUE                 tabulate_value N         N              96                             0       <NULL>  <NULL> stat_3    
 27 TRT01A Xanomeline Low Dose  SAFFL           TRUE                 tabulate_value p         %              1                              <fn>    <NULL>  <NULL> stat_3    
 28 TRT01A Xanomeline Low Dose  ITTFL           TRUE                 tabulate_value n         n              96                             <fn>    <NULL>  <NULL> stat_3    
 29 TRT01A Xanomeline Low Dose  ITTFL           TRUE                 tabulate_value N         N              96                             0       <NULL>  <NULL> stat_3    
 30 TRT01A Xanomeline Low Dose  ITTFL           TRUE                 tabulate_value p         %              1                              <fn>    <NULL>  <NULL> stat_3    
 31 TRT01A Xanomeline Low Dose  rand_fl         TRUE                 tabulate_value n         n              96                             <fn>    <NULL>  <NULL> stat_3    
 32 TRT01A Xanomeline Low Dose  rand_fl         TRUE                 tabulate_value N         N              96                             0       <NULL>  <NULL> stat_3    
 33 TRT01A Xanomeline Low Dose  rand_fl         TRUE                 tabulate_value p         %              1                              <fn>    <NULL>  <NULL> stat_3    
 34 TRT01A Xanomeline Low Dose  prot_fl         TRUE                 tabulate_value n         n              25                             <fn>    <NULL>  <NULL> stat_3    
 35 TRT01A Xanomeline Low Dose  prot_fl         TRUE                 tabulate_value N         N              96                             0       <NULL>  <NULL> stat_3    
 36 TRT01A Xanomeline Low Dose  prot_fl         TRUE                 tabulate_value p         %              0.2604167                      <fn>    <NULL>  <NULL> stat_3    
 37 <NA>   <NULL>               rand_fl         <NULL>               attributes     label     Variable Label Subjects randomized            <fn>    <NULL>  <NULL> <NA>      
 38 <NA>   <NULL>               rand_fl         <NULL>               attributes     class     Variable Class logical                        <NULL>  <NULL>  <NULL> <NA>      
 39 <NA>   <NULL>               ITTFL           <NULL>               attributes     label     Variable Label ITT population                 <fn>    <NULL>  <NULL> <NA>      
 40 <NA>   <NULL>               ITTFL           <NULL>               attributes     class     Variable Class logical                        <NULL>  <NULL>  <NULL> <NA>      
 41 <NA>   <NULL>               SAFFL           <NULL>               attributes     label     Variable Label Safety population              <fn>    <NULL>  <NULL> <NA>      
 42 <NA>   <NULL>               SAFFL           <NULL>               attributes     class     Variable Class logical                        <NULL>  <NULL>  <NULL> <NA>      
 43 <NA>   <NULL>               prot_fl         <NULL>               attributes     label     Variable Label Per-protocol population        <fn>    <NULL>  <NULL> <NA>      
 44 <NA>   <NULL>               prot_fl         <NULL>               attributes     class     Variable Class logical                        <NULL>  <NULL>  <NULL> <NA>      
 45 <NA>   <NULL>               TRT01A          <NULL>               attributes     label     Variable Label Actual Treatment for Period 01 <fn>    <NULL>  <NULL> <NA>      
 46 <NA>   <NULL>               TRT01A          <NULL>               attributes     class     Variable Class character                      <NULL>  <NULL>  <NULL> <NA>      
 47 TRT01A Placebo              rand_fl         <NULL>               missing        N_obs     No. obs.       86                             <fn>    <NULL>  <NULL> stat_1    
 48 TRT01A Placebo              rand_fl         <NULL>               missing        N_miss    N Missing      0                              <fn>    <NULL>  <NULL> stat_1    
 49 TRT01A Placebo              rand_fl         <NULL>               missing        N_nonmiss N Non-missing  86                             <fn>    <NULL>  <NULL> stat_1    
 50 TRT01A Placebo              rand_fl         <NULL>               missing        p_miss    % Missing      0                              <fn>    <NULL>  <NULL> stat_1    
 51 TRT01A Placebo              rand_fl         <NULL>               missing        p_nonmiss % Non-missing  1                              <fn>    <NULL>  <NULL> stat_1    
 52 TRT01A Placebo              ITTFL           <NULL>               missing        N_obs     No. obs.       86                             <fn>    <NULL>  <NULL> stat_1    
 53 TRT01A Placebo              ITTFL           <NULL>               missing        N_miss    N Missing      0                              <fn>    <NULL>  <NULL> stat_1    
 54 TRT01A Placebo              ITTFL           <NULL>               missing        N_nonmiss N Non-missing  86                             <fn>    <NULL>  <NULL> stat_1    
 55 TRT01A Placebo              ITTFL           <NULL>               missing        p_miss    % Missing      0                              <fn>    <NULL>  <NULL> stat_1    
 56 TRT01A Placebo              ITTFL           <NULL>               missing        p_nonmiss % Non-missing  1                              <fn>    <NULL>  <NULL> stat_1    
 57 TRT01A Placebo              SAFFL           <NULL>               missing        N_obs     No. obs.       86                             <fn>    <NULL>  <NULL> stat_1    
 58 TRT01A Placebo              SAFFL           <NULL>               missing        N_miss    N Missing      0                              <fn>    <NULL>  <NULL> stat_1    
 59 TRT01A Placebo              SAFFL           <NULL>               missing        N_nonmiss N Non-missing  86                             <fn>    <NULL>  <NULL> stat_1    
 60 TRT01A Placebo              SAFFL           <NULL>               missing        p_miss    % Missing      0                              <fn>    <NULL>  <NULL> stat_1    
 61 TRT01A Placebo              SAFFL           <NULL>               missing        p_nonmiss % Non-missing  1                              <fn>    <NULL>  <NULL> stat_1    
 62 TRT01A Placebo              prot_fl         <NULL>               missing        N_obs     No. obs.       86                             <fn>    <NULL>  <NULL> stat_1    
 63 TRT01A Placebo              prot_fl         <NULL>               missing        N_miss    N Missing      0                              <fn>    <NULL>  <NULL> stat_1    
 64 TRT01A Placebo              prot_fl         <NULL>               missing        N_nonmiss N Non-missing  86                             <fn>    <NULL>  <NULL> stat_1    
 65 TRT01A Placebo              prot_fl         <NULL>               missing        p_miss    % Missing      0                              <fn>    <NULL>  <NULL> stat_1    
 66 TRT01A Placebo              prot_fl         <NULL>               missing        p_nonmiss % Non-missing  1                              <fn>    <NULL>  <NULL> stat_1    
 67 TRT01A Xanomeline High Dose rand_fl         <NULL>               missing        N_obs     No. obs.       72                             <fn>    <NULL>  <NULL> stat_2    
 68 TRT01A Xanomeline High Dose rand_fl         <NULL>               missing        N_miss    N Missing      0                              <fn>    <NULL>  <NULL> stat_2    
 69 TRT01A Xanomeline High Dose rand_fl         <NULL>               missing        N_nonmiss N Non-missing  72                             <fn>    <NULL>  <NULL> stat_2    
 70 TRT01A Xanomeline High Dose rand_fl         <NULL>               missing        p_miss    % Missing      0                              <fn>    <NULL>  <NULL> stat_2    
 71 TRT01A Xanomeline High Dose rand_fl         <NULL>               missing        p_nonmiss % Non-missing  1                              <fn>    <NULL>  <NULL> stat_2    
 72 TRT01A Xanomeline High Dose ITTFL           <NULL>               missing        N_obs     No. obs.       72                             <fn>    <NULL>  <NULL> stat_2    
 73 TRT01A Xanomeline High Dose ITTFL           <NULL>               missing        N_miss    N Missing      0                              <fn>    <NULL>  <NULL> stat_2    
 74 TRT01A Xanomeline High Dose ITTFL           <NULL>               missing        N_nonmiss N Non-missing  72                             <fn>    <NULL>  <NULL> stat_2    
 75 TRT01A Xanomeline High Dose ITTFL           <NULL>               missing        p_miss    % Missing      0                              <fn>    <NULL>  <NULL> stat_2    
 76 TRT01A Xanomeline High Dose ITTFL           <NULL>               missing        p_nonmiss % Non-missing  1                              <fn>    <NULL>  <NULL> stat_2    
 77 TRT01A Xanomeline High Dose SAFFL           <NULL>               missing        N_obs     No. obs.       72                             <fn>    <NULL>  <NULL> stat_2    
 78 TRT01A Xanomeline High Dose SAFFL           <NULL>               missing        N_miss    N Missing      0                              <fn>    <NULL>  <NULL> stat_2    
 79 TRT01A Xanomeline High Dose SAFFL           <NULL>               missing        N_nonmiss N Non-missing  72                             <fn>    <NULL>  <NULL> stat_2    
 80 TRT01A Xanomeline High Dose SAFFL           <NULL>               missing        p_miss    % Missing      0                              <fn>    <NULL>  <NULL> stat_2    
 81 TRT01A Xanomeline High Dose SAFFL           <NULL>               missing        p_nonmiss % Non-missing  1                              <fn>    <NULL>  <NULL> stat_2    
 82 TRT01A Xanomeline High Dose prot_fl         <NULL>               missing        N_obs     No. obs.       72                             <fn>    <NULL>  <NULL> stat_2    
 83 TRT01A Xanomeline High Dose prot_fl         <NULL>               missing        N_miss    N Missing      0                              <fn>    <NULL>  <NULL> stat_2    
 84 TRT01A Xanomeline High Dose prot_fl         <NULL>               missing        N_nonmiss N Non-missing  72                             <fn>    <NULL>  <NULL> stat_2    
 85 TRT01A Xanomeline High Dose prot_fl         <NULL>               missing        p_miss    % Missing      0                              <fn>    <NULL>  <NULL> stat_2    
 86 TRT01A Xanomeline High Dose prot_fl         <NULL>               missing        p_nonmiss % Non-missing  1                              <fn>    <NULL>  <NULL> stat_2    
 87 TRT01A Xanomeline Low Dose  rand_fl         <NULL>               missing        N_obs     No. obs.       96                             <fn>    <NULL>  <NULL> stat_3    
 88 TRT01A Xanomeline Low Dose  rand_fl         <NULL>               missing        N_miss    N Missing      0                              <fn>    <NULL>  <NULL> stat_3    
 89 TRT01A Xanomeline Low Dose  rand_fl         <NULL>               missing        N_nonmiss N Non-missing  96                             <fn>    <NULL>  <NULL> stat_3    
 90 TRT01A Xanomeline Low Dose  rand_fl         <NULL>               missing        p_miss    % Missing      0                              <fn>    <NULL>  <NULL> stat_3    
 91 TRT01A Xanomeline Low Dose  rand_fl         <NULL>               missing        p_nonmiss % Non-missing  1                              <fn>    <NULL>  <NULL> stat_3    
 92 TRT01A Xanomeline Low Dose  ITTFL           <NULL>               missing        N_obs     No. obs.       96                             <fn>    <NULL>  <NULL> stat_3    
 93 TRT01A Xanomeline Low Dose  ITTFL           <NULL>               missing        N_miss    N Missing      0                              <fn>    <NULL>  <NULL> stat_3    
 94 TRT01A Xanomeline Low Dose  ITTFL           <NULL>               missing        N_nonmiss N Non-missing  96                             <fn>    <NULL>  <NULL> stat_3    
 95 TRT01A Xanomeline Low Dose  ITTFL           <NULL>               missing        p_miss    % Missing      0                              <fn>    <NULL>  <NULL> stat_3    
 96 TRT01A Xanomeline Low Dose  ITTFL           <NULL>               missing        p_nonmiss % Non-missing  1                              <fn>    <NULL>  <NULL> stat_3    
 97 TRT01A Xanomeline Low Dose  SAFFL           <NULL>               missing        N_obs     No. obs.       96                             <fn>    <NULL>  <NULL> stat_3    
 98 TRT01A Xanomeline Low Dose  SAFFL           <NULL>               missing        N_miss    N Missing      0                              <fn>    <NULL>  <NULL> stat_3    
 99 TRT01A Xanomeline Low Dose  SAFFL           <NULL>               missing        N_nonmiss N Non-missing  96                             <fn>    <NULL>  <NULL> stat_3    
100 TRT01A Xanomeline Low Dose  SAFFL           <NULL>               missing        p_miss    % Missing      0                              <fn>    <NULL>  <NULL> stat_3    
101 TRT01A Xanomeline Low Dose  SAFFL           <NULL>               missing        p_nonmiss % Non-missing  1                              <fn>    <NULL>  <NULL> stat_3    
102 TRT01A Xanomeline Low Dose  prot_fl         <NULL>               missing        N_obs     No. obs.       96                             <fn>    <NULL>  <NULL> stat_3    
103 TRT01A Xanomeline Low Dose  prot_fl         <NULL>               missing        N_miss    N Missing      0                              <fn>    <NULL>  <NULL> stat_3    
104 TRT01A Xanomeline Low Dose  prot_fl         <NULL>               missing        N_nonmiss N Non-missing  96                             <fn>    <NULL>  <NULL> stat_3    
105 TRT01A Xanomeline Low Dose  prot_fl         <NULL>               missing        p_miss    % Missing      0                              <fn>    <NULL>  <NULL> stat_3    
106 TRT01A Xanomeline Low Dose  prot_fl         <NULL>               missing        p_nonmiss % Non-missing  1                              <fn>    <NULL>  <NULL> stat_3    
107 <NA>   <NULL>               ..ard_total_n.. <NULL>               total_n        N         N              254                            0       <NULL>  <NULL> <NA>      
108 <NA>   <NULL>               TRT01A          Placebo              tabulate       n         n              86                             0       <NULL>  <NULL> <NA>      
109 <NA>   <NULL>               TRT01A          Placebo              tabulate       N         N              254                            0       <NULL>  <NULL> <NA>      
110 <NA>   <NULL>               TRT01A          Placebo              tabulate       p         %              0.3385827                      <fn>    <NULL>  <NULL> <NA>      
111 <NA>   <NULL>               TRT01A          Xanomeline High Dose tabulate       n         n              72                             0       <NULL>  <NULL> <NA>      
112 <NA>   <NULL>               TRT01A          Xanomeline High Dose tabulate       N         N              254                            0       <NULL>  <NULL> <NA>      
113 <NA>   <NULL>               TRT01A          Xanomeline High Dose tabulate       p         %              0.2834646                      <fn>    <NULL>  <NULL> <NA>      
114 <NA>   <NULL>               TRT01A          Xanomeline Low Dose  tabulate       n         n              96                             0       <NULL>  <NULL> <NA>      
115 <NA>   <NULL>               TRT01A          Xanomeline Low Dose  tabulate       N         N              254                            0       <NULL>  <NULL> <NA>      
116 <NA>   <NULL>               TRT01A          Xanomeline Low Dose  tabulate       p         %              0.3779528                      <fn>    <NULL>  <NULL> <NA>      
Source Code
---
title: Subject Populations, Randomized Population, Pooled Analysis (or Trial X) 
subtitle: FDA Table 04
categories: [table, FDA, safety, disposition]
---

::::: columns

:::: {.column width="52%"}
### FDA IG Shell

![](ig_shell.png){fig-alt="FDA IG example table shell" .lightbox width=100%}

### Programming Notes

**Background and Instructions**

The following trial populations are reflected in Table 4: Subject Populations below:

•    Intent-to-treat population (ITT): Includes every subject who is randomized according to randomized trial arm assignment.

•    Modified intent-to-treat population (mITT): Subset of the intent-to-treat population that excludes a predefined subject population.

•    Safety population: All subjects considered in the safety analyses who received at least one dose of the study drug in the trials or studies submitted.

•    Per-protocol population: Only those subjects who completed the treatment originally allocated and planned without specified protocol violations.

**Customization**

[N/A (per FDA IG)](https://www.fda.gov/media/187065/download)

::::

:::: {.column width="4%"}
::::

:::: {.column width="44%"}
### Output

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

::::

:::::

::: panel-tabset
## Full Code

```{r fullcode, file="../../../inst/templates/fda-table_04.R", message=FALSE, warning=FALSE, results='hide'}
```

## Table

```{r tbl}
tbl
```

## ARD

```{r ard, message=FALSE, warning=FALSE}
withr::local_options(width = 9999, tibble.print_max = Inf)
print(ard, columns = "all")
```

:::
 
  • This website as well as code examples are licensed under the Apache License, Version 2.0.
Cookie Preferences