TLG Catalog - Stable
  • Stable
    • Dev
  1. Tables
  2. Efficacy
  3. RATET01
  • Introduction

  • Tables
    • ADA
      • ADAT01
      • ADAT02
      • ADAT03
      • ADAT04A
      • ADAT04B
    • Adverse Events
      • AET01
      • AET01_AESI
      • AET02
      • AET02_SMQ
      • AET03
      • AET04
      • AET04_PI
      • AET05
      • AET05_ALL
      • AET06
      • AET06_SMQ
      • AET07
      • AET09
      • AET09_SMQ
      • AET10
    • Concomitant Medications
      • CMT01
      • CMT01A
      • CMT01B
      • CMT02_PT
    • Deaths
      • DTHT01
    • Demography
      • DMT01
    • Disclosures
      • DISCLOSUREST01
      • EUDRAT01
      • EUDRAT02
    • Disposition
      • DST01
      • PDT01
      • PDT02
    • ECG
      • EGT01
      • EGT02
      • EGT03
      • EGT04
      • EGT05_QTCAT
    • Efficacy
      • AOVT01
      • AOVT02
      • AOVT03
      • CFBT01
      • CMHT01
      • COXT01
      • COXT02
      • DORT01
      • LGRT02
      • MMRMT01
      • ONCT05
      • RATET01
      • RBMIT01
      • RSPT01
      • TTET01
    • Exposure
      • EXT01
    • Lab Results
      • LBT01
      • LBT02
      • LBT03
      • LBT04
      • LBT05
      • LBT06
      • LBT07
      • LBT08
      • LBT09
      • LBT10
      • LBT10_BL
      • LBT11
      • LBT11_BL
      • LBT12
      • LBT12_BL
      • LBT13
      • LBT14
      • LBT15
    • Medical History
      • MHT01
    • Pharmacokinetic
      • PKCT01
      • PKPT02
      • PKPT03
      • PKPT04
      • PKPT05
      • PKPT06
      • PKPT07
      • PKPT08
      • PKPT11
    • Risk Management Plan
      • RMPT01
      • RMPT03
      • RMPT04
      • RMPT05
      • RMPT06
    • Safety
      • ENTXX
    • Vital Signs
      • VST01
      • VST02
  • Listings
    • ADA
      • ADAL02
    • Adverse Events
      • AEL01
      • AEL01_NOLLT
      • AEL02
      • AEL02_ED
      • AEL03
      • AEL04
    • Concomitant Medications
      • CML01
      • CML02A_GL
      • CML02B_GL
    • Development Safety Update Report
      • DSUR4
    • Disposition
      • DSL01
      • DSL02
    • ECG
      • EGL01
    • Efficacy
      • ONCL01
    • Exposure
      • EXL01
    • Lab Results
      • LBL01
      • LBL01_RLS
      • LBL02A
      • LBL02A_RLS
      • LBL02B
    • Medical History
      • MHL01
    • Pharmacokinetic
      • ADAL01
      • PKCL01
      • PKCL02
      • PKPL01
      • PKPL02
      • PKPL04
    • Vital Signs
      • VSL01
  • Graphs
    • Efficacy
      • FSTG01
      • FSTG02
      • KMG01
      • MMRMG01
      • MMRMG02
    • Other
      • BRG01
      • BWG01
      • CIG01
      • IPPG01
      • LTG01
      • MNG01
    • Pharmacokinetic
      • PKCG01
      • PKCG02
      • PKCG03
      • PKPG01
      • PKPG02
      • PKPG03
      • PKPG04
      • PKPG06

  • Appendix
    • Reproducibility

  • Index

On this page

  • Output
  • Reproducibility
    • Timestamp
    • Session Info
    • .lock file
  • Edit this page
  • Report an issue
  1. Tables
  2. Efficacy
  3. RATET01

RATET01

Event Rate Summary for Recurrent Events


Output

This example will focus on data from a single visit “WEEK 1 DAY 8” and a single endpoint “FKSI-FWB”. Only evaluable populations will be analyzed.

  • Customized Table
  • Data Setup
  • Preview
  • Try this using WebR
Code
lyt <- basic_table(show_colcounts = TRUE) %>%
  split_cols_by("ARM", ref_group = "B: Placebo", split_fun = ref_group_position("first")) %>%
  analyze_vars(
    "AVAL_f",
    var_labels = "Number of exacerbations per patient",
    .stats = c("count_fraction"),
    .formats = c("count_fraction" = "xx (xx.xx%)"),
    .labels = c("Number of exacerbations per patient")
  ) %>%
  summarize_glm_count(
    vars = "AVAL",
    variables = list(arm = "ARM", offset = "lgTMATRSK", covariates = NULL),
    conf_level = 0.95,
    distribution = "poisson",
    rate_mean_method = "emmeans",
    var_labels = "Unadjusted exacerbation rate (per year)",
    table_names = "unadj",
    .stats = c("rate"),
    .labels = c(rate = "Rate")
  ) %>%
  summarize_glm_count(
    vars = "AVAL",
    variables = list(arm = "ARM", offset = "lgTMATRSK", covariates = c("REGION1")),
    conf_level = 0.95,
    distribution = "quasipoisson",
    rate_mean_method = "ppmeans",
    var_labels = "Adjusted (QP) exacerbation rate (per year)",
    table_names = "adj-qp",
    .stats = c("rate", "rate_ci", "rate_ratio", "rate_ratio_ci", "pval"),
    .labels = c(
      rate = "Rate", rate_ci = "Rate CI", rate_ratio = "Rate Ratio",
      rate_ratio_ci = "Rate Ratio CI", pval = "p-value"
    )
  ) %>%
  summarize_glm_count(
    vars = "AVAL",
    variables = list(arm = "ARM", offset = "lgTMATRSK", covariates = c("REGION1")),
    conf_level = 0.95,
    distribution = "negbin",
    rate_mean_method = "emmeans",
    var_labels = "Adjusted (NB) exacerbation rate (per year)",
    table_names = "adj-nb",
    .stats = c("rate", "rate_ci", "rate_ratio", "rate_ratio_ci", "pval"),
    .labels = c(
      rate = "Rate", rate_ci = "Rate CI", rate_ratio = "Rate Ratio",
      rate_ratio_ci = "Rate Ratio CI", pval = "p-value"
    )
  )
result <- build_table(
  lyt = lyt,
  df = anl
)
result
                                                 B: Placebo           A: Drug X          C: Combination  
                                                  (N=134)              (N=134)              (N=132)      
—————————————————————————————————————————————————————————————————————————————————————————————————————————
Number of exacerbations per patient                                                                      
  0                                              10 (7.46%)           6 (4.48%)            11 (8.33%)    
  1                                             25 (18.66%)          21 (15.67%)          14 (10.61%)    
  2                                             38 (28.36%)          41 (30.60%)          33 (25.00%)    
  3                                             22 (16.42%)          26 (19.40%)          21 (15.91%)    
  4                                              13 (9.70%)          18 (13.43%)          30 (22.73%)    
  5                                              11 (8.21%)           10 (7.46%)           12 (9.09%)    
  6                                              10 (7.46%)           7 (5.22%)            7 (5.30%)     
  7                                              3 (2.24%)            4 (2.99%)            3 (2.27%)     
  8                                              1 (0.75%)            1 (0.75%)            1 (0.76%)     
  9                                              1 (0.75%)            0 (0.00%)            0 (0.00%)     
Unadjusted exacerbation rate (per year)                                                                  
  Rate                                             7.2364               8.2148               9.8131      
Adjusted (QP) exacerbation rate (per year)                                                               
  Rate                                             2.4550               2.8514               3.4304      
    Rate CI                                   (1.6194, 3.7219)     (1.8974, 4.2850)     (2.2946, 5.1284) 
  Rate Ratio                                                            1.1615               1.3973      
    Rate Ratio CI                                                  (0.6462, 2.0877)     (0.7789, 2.5067) 
    p-value                                                             0.6169               0.2619      
Adjusted (NB) exacerbation rate (per year)                                                               
  Rate                                            18.4450              28.0582              23.9304      
    Rate CI                                  (13.9015, 24.4736)   (21.3288, 36.9108)   (18.1382, 31.5722)
  Rate Ratio                                                            1.5212               1.2974      
    Rate Ratio CI                                                  (1.1166, 2.0724)     (0.9505, 1.7708) 
    p-value                                                             0.0078               0.1009      
Experimental use!

WebR is a tool allowing you to run R code in the web browser. Modify the code below and click run to see the results. Alternatively, copy the code and click here to open WebR in a new tab.

Code
library(tern)
library(dplyr)

anl <- random.cdisc.data::cadtte %>%
  filter(PARAMCD == "TNE")

# Ensure number of exacerbation is a factor and NAs are explicit missing levels.
anl$AVAL_f <- as.factor(anl$AVAL)
anl <- df_explicit_na(anl)

Reproducibility

Timestamp

[1] "2025-07-09 17:42:52 UTC"

Session Info

─ Session info ───────────────────────────────────────────────────────────────
 setting  value
 version  R version 4.5.0 (2025-04-11)
 os       Ubuntu 24.04.2 LTS
 system   x86_64, linux-gnu
 ui       X11
 language (EN)
 collate  en_US.UTF-8
 ctype    en_US.UTF-8
 tz       Etc/UTC
 date     2025-07-09
 pandoc   3.7.0.2 @ /usr/bin/ (via rmarkdown)
 quarto   1.7.32 @ /usr/local/bin/quarto

─ Packages ───────────────────────────────────────────────────────────────────
 package           * version  date (UTC) lib source
 backports           1.5.0    2024-05-23 [1] RSPM
 brio                1.1.5    2024-04-24 [1] RSPM
 broom               1.0.8    2025-03-28 [1] RSPM
 checkmate           2.3.2    2024-07-29 [1] RSPM
 cli                 3.6.5    2025-04-23 [1] RSPM
 coda                0.19-4.1 2024-01-31 [1] CRAN (R 4.5.0)
 codetools           0.2-20   2024-03-31 [2] CRAN (R 4.5.0)
 curl                6.4.0    2025-06-22 [1] RSPM
 dichromat           2.0-0.1  2022-05-02 [1] CRAN (R 4.5.0)
 digest              0.6.37   2024-08-19 [1] RSPM
 dplyr             * 1.1.4    2023-11-17 [1] RSPM
 emmeans             1.11.1   2025-05-04 [1] RSPM
 estimability        1.5.1    2024-05-12 [1] RSPM
 evaluate            1.0.4    2025-06-18 [1] RSPM
 farver              2.1.2    2024-05-13 [1] RSPM
 fastmap             1.2.0    2024-05-15 [1] RSPM
 forcats             1.0.0    2023-01-29 [1] RSPM
 formatters        * 0.5.11   2025-04-09 [1] RSPM
 generics            0.1.4    2025-05-09 [1] RSPM
 ggplot2             3.5.2    2025-04-09 [1] RSPM
 glue                1.8.0    2024-09-30 [1] RSPM
 gtable              0.3.6    2024-10-25 [1] RSPM
 htmltools           0.5.8.1  2024-04-04 [1] RSPM
 htmlwidgets         1.6.4    2023-12-06 [1] RSPM
 jsonlite            2.0.0    2025-03-27 [1] RSPM
 knitr               1.50     2025-03-16 [1] RSPM
 lattice             0.22-7   2025-04-02 [2] CRAN (R 4.5.0)
 lifecycle           1.0.4    2023-11-07 [1] RSPM
 magrittr          * 2.0.3    2022-03-30 [1] RSPM
 MASS                7.3-65   2025-02-28 [2] CRAN (R 4.5.0)
 Matrix              1.7-3    2025-03-11 [1] CRAN (R 4.5.0)
 multcomp            1.4-28   2025-01-29 [1] RSPM
 mvtnorm             1.3-3    2025-01-10 [1] RSPM
 nestcolor           0.1.3    2025-01-21 [1] RSPM
 pillar              1.11.0   2025-07-04 [1] RSPM
 pkgcache            2.2.4    2025-05-26 [1] RSPM
 pkgconfig           2.0.3    2019-09-22 [1] RSPM
 processx            3.8.6    2025-02-21 [1] RSPM
 ps                  1.9.1    2025-04-12 [1] RSPM
 purrr               1.0.4    2025-02-05 [1] RSPM
 R6                  2.6.1    2025-02-15 [1] RSPM
 random.cdisc.data   0.3.16   2024-10-10 [1] RSPM
 rbibutils           2.3      2024-10-04 [1] RSPM
 RColorBrewer        1.1-3    2022-04-03 [1] RSPM
 Rdpack              2.6.4    2025-04-09 [1] RSPM
 rlang               1.1.6    2025-04-11 [1] RSPM
 rmarkdown           2.29     2024-11-04 [1] RSPM
 rtables           * 0.6.13   2025-06-19 [1] RSPM
 sandwich            3.1-1    2024-09-15 [1] RSPM
 scales              1.4.0    2025-04-24 [1] RSPM
 sessioninfo         1.2.3    2025-02-05 [1] any (@1.2.3)
 stringi             1.8.7    2025-03-27 [1] RSPM
 stringr             1.5.1    2023-11-14 [1] RSPM
 survival            3.8-3    2024-12-17 [2] CRAN (R 4.5.0)
 tern              * 0.9.9    2025-06-20 [1] RSPM
 testthat            3.2.3    2025-01-13 [1] RSPM
 TH.data             1.1-3    2025-01-17 [1] RSPM
 tibble              3.3.0    2025-06-08 [1] RSPM
 tidyr               1.3.1    2024-01-24 [1] RSPM
 tidyselect          1.2.1    2024-03-11 [1] RSPM
 vctrs               0.6.5    2023-12-01 [1] RSPM
 xfun                0.52     2025-04-02 [1] RSPM
 xtable              1.8-4    2019-04-21 [1] RSPM
 yaml                2.3.10   2024-07-26 [1] RSPM
 zoo                 1.8-14   2025-04-10 [1] RSPM

 [1] /usr/local/lib/R/site-library
 [2] /usr/local/lib/R/library
 [3] /github/home/R/x86_64-pc-linux-gnu-library/4.5
 * ── Packages attached to the search path.

──────────────────────────────────────────────────────────────────────────────

.lock file

Download the .lock file and use renv::restore() on it to recreate environment used to generate this website.

Download

ONCT05
RBMIT01
Source Code
---
title: RATET01
subtitle: Event Rate Summary for Recurrent Events
---

------------------------------------------------------------------------

{{< include ../../_utils/envir_hook.qmd >}}

```{r setup, echo = FALSE, warning = FALSE, message = FALSE}
library(tern)
library(dplyr)

anl <- random.cdisc.data::cadtte %>%
  filter(PARAMCD == "TNE")

# Ensure number of exacerbation is a factor and NAs are explicit missing levels.
anl$AVAL_f <- as.factor(anl$AVAL)
anl <- df_explicit_na(anl)
```

```{r include = FALSE}
webr_code_labels <- c("setup")
```

{{< include ../../_utils/webr_no_include.qmd >}}

## Output

This example will focus on data from a single visit "WEEK 1 DAY 8" and a single endpoint "FKSI-FWB". Only evaluable populations will be analyzed.

:::: panel-tabset
## Customized Table

::: {.panel-tabset .nav-justified group="webr"}
## {{< fa regular file-lines sm fw >}} Preview

```{r variant1, test = list(result_v1 = "result")}
lyt <- basic_table(show_colcounts = TRUE) %>%
  split_cols_by("ARM", ref_group = "B: Placebo", split_fun = ref_group_position("first")) %>%
  analyze_vars(
    "AVAL_f",
    var_labels = "Number of exacerbations per patient",
    .stats = c("count_fraction"),
    .formats = c("count_fraction" = "xx (xx.xx%)"),
    .labels = c("Number of exacerbations per patient")
  ) %>%
  summarize_glm_count(
    vars = "AVAL",
    variables = list(arm = "ARM", offset = "lgTMATRSK", covariates = NULL),
    conf_level = 0.95,
    distribution = "poisson",
    rate_mean_method = "emmeans",
    var_labels = "Unadjusted exacerbation rate (per year)",
    table_names = "unadj",
    .stats = c("rate"),
    .labels = c(rate = "Rate")
  ) %>%
  summarize_glm_count(
    vars = "AVAL",
    variables = list(arm = "ARM", offset = "lgTMATRSK", covariates = c("REGION1")),
    conf_level = 0.95,
    distribution = "quasipoisson",
    rate_mean_method = "ppmeans",
    var_labels = "Adjusted (QP) exacerbation rate (per year)",
    table_names = "adj-qp",
    .stats = c("rate", "rate_ci", "rate_ratio", "rate_ratio_ci", "pval"),
    .labels = c(
      rate = "Rate", rate_ci = "Rate CI", rate_ratio = "Rate Ratio",
      rate_ratio_ci = "Rate Ratio CI", pval = "p-value"
    )
  ) %>%
  summarize_glm_count(
    vars = "AVAL",
    variables = list(arm = "ARM", offset = "lgTMATRSK", covariates = c("REGION1")),
    conf_level = 0.95,
    distribution = "negbin",
    rate_mean_method = "emmeans",
    var_labels = "Adjusted (NB) exacerbation rate (per year)",
    table_names = "adj-nb",
    .stats = c("rate", "rate_ci", "rate_ratio", "rate_ratio_ci", "pval"),
    .labels = c(
      rate = "Rate", rate_ci = "Rate CI", rate_ratio = "Rate Ratio",
      rate_ratio_ci = "Rate Ratio CI", pval = "p-value"
    )
  )
result <- build_table(
  lyt = lyt,
  df = anl
)
result
```

```{r include = FALSE}
webr_code_labels <- c("variant1")
```

{{< include ../../_utils/webr.qmd >}}
:::

## Data Setup

```{r setup}
#| code-fold: show
```
::::

{{< include ../../_utils/save_results.qmd >}}

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

Made with ❤️ by the NEST Team

  • Edit this page
  • Report an issue
Cookie Preferences