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

Laboratory Test Results and Change from Baseline by Visit

Roche LBT01

table
Roche
parallel-group
change from baseline
  • Table Preview
  • Setup
  • Build Table
  • Build ARD

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

adsl <- pharmaverseadam::adsl
adlb <- pharmaverseadam::adlb

# Pre-processing --------------------------------------------
data <- adlb |>
  dplyr::filter(
    SAFFL == "Y", # safety population
    PARAMCD %in% c("ALT", "BILI", "CREAT")
    # This step can be used to filter for valid visits. Since the table creation
    # code specifies the visits, we can omit that step here.
  )
Code
tbl <- data |>
  filter(
    AVISIT %in% c("Baseline", "Week 4") # specify visits to display in table
  ) |>
  # apply tbl_baseline_chg function to each level of PARAM in the data
  gtsummary::tbl_strata_nested_stack(
    strata = PARAM,
    ~ .x |>
      crane::tbl_baseline_chg(
        baseline_level = "Baseline",
        by = "TRT01A",
        # this dataset has a treatment level called "Screen Failure".
        # Filtering this out as adsl is used to calculate the denominator.
        denominator = adsl |> filter(TRT01A != "Screen Failure")
      )
  ) |>
  # bold lab test labels
  gtsummary::modify_bold(columns = label, rows = tbl_indent_id1 > 0L) |>
  # update header labels
  gtsummary::modify_header(label = "**Lab  \n\U00A0\U00A0\U00A0\U00A0 Visit**") |>
  gtsummary::modify_spanning_header(gtsummary::all_stat_cols() ~ "**{level}**  \nN = {n}")

tbl

Code
# Extract ARD from previously created gtsummary table (refer to "Build Table")
ard <- gather_ard(tbl)

# Output ARD
ard
$`PARAM="Alanine Aminotransferase (U/L)"`
$`PARAM="Alanine Aminotransferase (U/L)"`$tbl_baseline_chg
{cards} data frame: 108 x 12
   group1 group1_level variable variable_level context stat_name stat_label   stat fmt_fun warning error gts_column
1  TRT01A      Placebo     AVAL       Baseline summary      mean       Mean  17.57    <fn>                   stat_1
2  TRT01A      Placebo     AVAL       Baseline summary        sd         SD  9.216    <fn>                   stat_1
3  TRT01A      Placebo     AVAL       Baseline summary    median     Median     15    <fn>                   stat_1
4  TRT01A      Placebo     AVAL       Baseline summary       min        Min      7    <fn>                   stat_1
5  TRT01A      Placebo     AVAL       Baseline summary       max        Max     69    <fn>                   stat_1
6  TRT01A      Placebo     AVAL         Week 4 summary      mean       Mean 18.658    <fn>                   stat_1
7  TRT01A      Placebo     AVAL         Week 4 summary        sd         SD 12.908    <fn>                   stat_1
8  TRT01A      Placebo     AVAL         Week 4 summary    median     Median     16    <fn>                   stat_1
9  TRT01A      Placebo     AVAL         Week 4 summary       min        Min      6    <fn>                   stat_1
10 TRT01A      Placebo     AVAL         Week 4 summary       max        Max    107    <fn>                   stat_1
ℹ 98 more rows
ℹ Use `print(n = ...)` to see more rows


$`PARAM="Bilirubin (umol/L)"`
$`PARAM="Bilirubin (umol/L)"`$tbl_baseline_chg
{cards} data frame: 108 x 12
   group1 group1_level variable variable_level context stat_name stat_label   stat fmt_fun warning error gts_column
1  TRT01A      Placebo     AVAL       Baseline summary      mean       Mean  9.703    <fn>                   stat_1
2  TRT01A      Placebo     AVAL       Baseline summary        sd         SD  3.965    <fn>                   stat_1
3  TRT01A      Placebo     AVAL       Baseline summary    median     Median   8.55    <fn>                   stat_1
4  TRT01A      Placebo     AVAL       Baseline summary       min        Min   5.13    <fn>                   stat_1
5  TRT01A      Placebo     AVAL       Baseline summary       max        Max  25.65    <fn>                   stat_1
6  TRT01A      Placebo     AVAL         Week 4 summary      mean       Mean 11.126    <fn>                   stat_1
7  TRT01A      Placebo     AVAL         Week 4 summary        sd         SD  13.57    <fn>                   stat_1
8  TRT01A      Placebo     AVAL         Week 4 summary    median     Median   8.55    <fn>                   stat_1
9  TRT01A      Placebo     AVAL         Week 4 summary       min        Min   5.13    <fn>                   stat_1
10 TRT01A      Placebo     AVAL         Week 4 summary       max        Max 124.83    <fn>                   stat_1
ℹ 98 more rows
ℹ Use `print(n = ...)` to see more rows


$`PARAM="Creatinine (umol/L)"`
$`PARAM="Creatinine (umol/L)"`$tbl_baseline_chg
{cards} data frame: 108 x 12
   group1 group1_level variable variable_level context stat_name stat_label   stat fmt_fun warning error gts_column
1  TRT01A      Placebo     AVAL       Baseline summary      mean       Mean 97.651    <fn>                   stat_1
2  TRT01A      Placebo     AVAL       Baseline summary        sd         SD 17.779    <fn>                   stat_1
3  TRT01A      Placebo     AVAL       Baseline summary    median     Median  97.24    <fn>                   stat_1
4  TRT01A      Placebo     AVAL       Baseline summary       min        Min  61.88    <fn>                   stat_1
5  TRT01A      Placebo     AVAL       Baseline summary       max        Max 159.12    <fn>                   stat_1
6  TRT01A      Placebo     AVAL         Week 4 summary      mean       Mean 98.641    <fn>                   stat_1
7  TRT01A      Placebo     AVAL         Week 4 summary        sd         SD 18.557    <fn>                   stat_1
8  TRT01A      Placebo     AVAL         Week 4 summary    median     Median  97.24    <fn>                   stat_1
9  TRT01A      Placebo     AVAL         Week 4 summary       min        Min  70.72    <fn>                   stat_1
10 TRT01A      Placebo     AVAL         Week 4 summary       max        Max  176.8    <fn>                   stat_1
ℹ 98 more rows
ℹ Use `print(n = ...)` to see more rows
Source Code
---
title: Laboratory Test Results and Change from Baseline by Visit
subtitle: Roche LBT01
categories: [table, Roche, parallel-group, change from baseline] 
---

::: panel-tabset
## Table Preview

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

## Setup

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

adsl <- pharmaverseadam::adsl
adlb <- pharmaverseadam::adlb

# Pre-processing --------------------------------------------
data <- adlb |>
  dplyr::filter(
    SAFFL == "Y", # safety population
    PARAMCD %in% c("ALT", "BILI", "CREAT")
    # This step can be used to filter for valid visits. Since the table creation
    # code specifies the visits, we can omit that step here.
  )
```

## Build Table

```{r tbl, results='hide'}
tbl <- data |>
  filter(
    AVISIT %in% c("Baseline", "Week 4") # specify visits to display in table
  ) |>
  # apply tbl_baseline_chg function to each level of PARAM in the data
  gtsummary::tbl_strata_nested_stack(
    strata = PARAM,
    ~ .x |>
      crane::tbl_baseline_chg(
        baseline_level = "Baseline",
        by = "TRT01A",
        # this dataset has a treatment level called "Screen Failure".
        # Filtering this out as adsl is used to calculate the denominator.
        denominator = adsl |> filter(TRT01A != "Screen Failure")
      )
  ) |>
  # bold lab test labels
  gtsummary::modify_bold(columns = label, rows = tbl_indent_id1 > 0L) |>
  # update header labels
  gtsummary::modify_header(label = "**Lab  \n\U00A0\U00A0\U00A0\U00A0 Visit**") |>
  gtsummary::modify_spanning_header(gtsummary::all_stat_cols() ~ "**{level}**  \nN = {n}")

tbl
```

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

```{r img, echo=FALSE, fig.align='center', out.width='60%'}
```

## Build ARD

```{r ard, message=FALSE, warning=FALSE, results='hide'}
# Extract ARD from previously created gtsummary table (refer to "Build Table")
ard <- gather_ard(tbl)

# Output ARD
ard
```

```{r, echo=FALSE}
# Print ARD
withr::local_options(width = 9999)
print(ard, columns = "all")
```
:::
 
  • This website as well as code examples are licensed under the Apache License, Version 2.0.
Cookie Preferences