TL Catalog
  1. Tables
  2. Pharmacokinetics
  3. TPK01B
  • Introduction

  • Index

  • Tables
    • Adverse Events
      • TSFAE01A
      • TSFAE01B
      • TSFAE02
      • TSFAE02A
      • TSFAE03
      • TSFAE03A
      • TSFAE04
      • TSFAE04A
      • TSFAE05
      • TSFAE05A
      • TSFAE06A
      • TSFAE06B
      • TSFAE07A
      • TSFAE07B
      • TSFAE08
      • TSFAE09
      • TSFAE10
      • TSFAE11
      • TSFAE12
      • TSFAE13
      • TSFAE14
      • TSFAE15
      • TSFAE16
      • TSFAE17A
      • TSFAE17B
      • TSFAE17C
      • TSFAE17D
      • TSFAE19A
      • TSFAE19B
      • TSFAE19C
      • TSFAE19D
      • TSFAE20A
      • TSFAE20B
      • TSFAE20C
      • TSFAE21A
      • TSFAE21B
      • TSFAE21C
      • TSFAE21D
      • TSFAE22A
      • TSFAE22B
      • TSFAE22C
      • TSFAE23A
      • TSFAE23B
      • TSFAE23C
      • TSFAE23D
      • TSFAE24A
      • TSFAE24B
      • TSFAE24C
      • TSFAE24D
      • TSFAE24F
      • TSFDTH01
    • Clinical Laboratory Evaluation
      • TSFLAB01
      • TSFLAB01A
      • TSFLAB02
      • TSFLAB02A
      • TSFLAB02B
      • TSFLAB03
      • TSFLAB03A
      • TSFLAB04A
      • TSFLAB04B
      • TSFLAB05
      • TSFLAB06
      • TSFLAB07
    • Demographic
      • TSIDEM01
      • TSIDEM02
      • TSIMH01
    • Disposition of Subjects
      • TSIDS01
      • TSIDS02
      • TSIDS02A
    • Electrocardiograms
      • TSFECG01
      • TSFECG01A
      • TSFECG02
      • TSFECG03
      • TSFECG04
      • TSFECG05
    • Exposure
      • TSIEX01
      • TSIEX02
      • TSIEX03
      • TSIEX04
      • TSIEX06
      • TSIEX07
      • TSIEX08
      • TSIEX09
      • TSIEX10
      • TSIEX11
    • Pharmacokinetics
      • TPK01A
      • TPK01B
      • TPK02
      • TPK03
    • Prior and Concomitant Therapies
      • TSICM01
      • TSICM02
      • TSICM03
      • TSICM04
      • TSICM05
      • TSICM06
      • TSICM07
      • TSICM08
    • Vital Signs and Physical Findings
      • TSFVIT01
      • TSFVIT01A
      • TSFVIT02
      • TSFVIT03
      • TSFVIT04
      • TSFVIT05
      • TSFVIT06
  • Listings
    • Adverse Events
      • LSFAE01
      • LSFAE02
      • LSFAE03
      • LSFAE04
      • LSFAE05
      • LSFAE06A
      • LSFAE06B
      • LSFDTH01
    • Clinical Laboratory Evaluation
      • LSFLAB01
    • Demographic
      • LSIDEM01
      • LSIDEM02
      • LSIMH01
    • Disposition of Subjects
      • LSIDS01
      • LSIDS02
      • LSIDS03
      • LSIDS04
      • LSIDS05
    • Electrocardiograms
      • LSFECG01
      • LSFECG02
    • Exposure
      • LSIEX01
      • LSIEX02
      • LSIEX03
    • Prior and Concomitant Therapies
      • LSICM01
    • Vital Signs and Physical Findings
      • LSFVIT01
      • LSFVIT02

  • Reproducibility

  • Changelog

On this page

  • Output
  • Edit this page
  • Report an issue
  1. Tables
  2. Pharmacokinetics
  3. TPK01B

TPK01B

Matrix Active Study Agent/Analyte Concentrations (units) Over Time


Output

  • Preview
Code
# Program Name:              tpk01b

# Prep environment:

library(envsetup)
library(dplyr)
library(rtables)
library(tern)
library(junco)

# Define script level parameters:

tblid <- "TPK01b"
fileid <- tblid
titles <- get_titles_from_file(input_path = '../../_data/', tblid)
string_map <- default_str_map
popfl <- "PKFL"
trtvar <- "TRT01A"

trt_grps <- c("Xanomeline High Dose", "Xanomeline Low Dose")

for (i in seq_along(trt_grps)) {
  trt_grp <- trt_grps[i]
  path <- paste0(fileid, "part", i)
  
  ##############################################################################
  # Process data:
  ##############################################################################
  
  adsl <- pharmaverseadamjnj::adsl |>
    filter(.data[[popfl]] == "Y") |>
    select(USUBJID, all_of(trtvar), PKFL) |>
    filter(.data[[trtvar]] == trt_grp) |>
    mutate(colspan = "Observed")
  
  adpc <- pharmaverseadamjnj::adpc |>
    filter(PARAMCD == "XAN") |>
    select(USUBJID, all_of(trtvar), AVISIT, ATPT, AVAL) |>
    filter(.data[[trtvar]] == trt_grp) |>
    inner_join(adsl) |>
    
    # Concatenate and reorder time points
    mutate(AVISIT_ATPT = factor(paste(AVISIT, ATPT, sep = " - "), levels = c(
      "Day 1 - Pre-dose",
      "Day 1 - 5 Min Post-dose",
      "Day 1 - 30 Min Post-dose",
      "Day 1 - 1h Post-dose",
      "Day 1 - 1.5h Post-dose",
      "Day 1 - 2h Post-dose",
      "Day 1 - 4h Post-dose",
      "Day 1 - 0-6h Post-dose",
      "Day 1 - 6h Post-dose",
      "Day 1 - 8h Post-dose",
      "Day 1 - 6-12h Post-dose",
      "Day 1 - 12h Post-dose",
      "Day 1 - 16h Post-dose",
      "Day 1 - 12-24h Post-dose",
      "Day 2 - 24h Post-dose",
      "Day 2 - Pre-dose",
      "Day 2 - 36h Post-dose",
      "Day 2 - 24-48h Post-dose",
      "Day 3 - 48h Post-dose", 
      "Day 3 - Pre-dose"
    )))
  
  ##############################################################################
  # Define layout and build table:
  ##############################################################################
  
  lyt <- basic_table() |>
    split_cols_by(
      var = trtvar,
      show_colcounts = TRUE,
      colcount_format = "N=xx",
      split_fun = drop_split_levels
    ) |>
    
    split_cols_by("colspan") |>
    
    split_rows_by(
      var = "AVISIT_ATPT",
      split_label = "Time Point",
      label_pos = "topleft",
      child_labels = "hidden"
    ) |>
    
    analyze_vars_in_cols(
      vars = "AVAL",
      .stats = c(
        "n",
        "mean",
        "sd",
        "median",
        "min",
        "max",
        "cv",
        "geom_mean"
      ),
      .labels = c(
        n = "N",
        mean = "Mean",
        sd = "SD",
        median = "Med",
        min = "Min",
        max = "Max",
        cv = "% CV",
        geom_mean = "Geometric Mean"
      ),
      .formats = c(
        n = jjcsformat_xx("xx"),
        mean = jjcsformat_xx("xx.xx"),
        sd = jjcsformat_xx("xx.xx"),
        median = jjcsformat_xx("xx.xx"),
        min = jjcsformat_xx("xx.xx"),
        max = jjcsformat_xx("xx.xx"),
        cv = jjcsformat_xx("xx.x"),
        geom_mean = jjcsformat_xx("xx.xx")
      )
    )
  
  result <- build_table(lyt, df = adpc, alt_counts_df = adsl)
  
  ##############################################################################
  # Add titles and footnotes:
  ##############################################################################
  
  result <- set_titles(result, titles)
  
  ##############################################################################
  # Convert to tbl file and output table:
  ##############################################################################
  
  tt_to_tlgrtf(string_map = string_map, tt = result, file = path, orientation = "landscape")
}

TPK01b: [Matrix] [Active Study Agent/Analyte] Concentrations ([units]) Over Time; Pharmacokinetics Analysis Set (Study jjcs - core)

Xanomeline Low Dose

N=96

Observed

Time Point

N

Mean

SD

Med

Min

Max

% CV

Geometric Mean

Day 1 - Pre-dose

96

0.00

0.00

0.00

0.00

0.00

NA

NA

Day 1 - 5 Min Post-dose

96

0.10

0.01

0.10

0.09

0.11

5.3

0.10

Day 1 - 30 Min Post-dose

96

0.55

0.03

0.54

0.50

0.60

4.8

0.55

Day 1 - 1h Post-dose

96

0.93

0.04

0.93

0.85

1.01

4.4

0.93

Day 1 - 1.5h Post-dose

96

1.20

0.05

1.20

1.11

1.29

4.0

1.20

Day 1 - 2h Post-dose

96

1.39

0.05

1.39

1.29

1.49

3.7

1.39

Day 1 - 4h Post-dose

96

1.74

0.05

1.74

1.64

1.83

3.2

1.74

Day 1 - 0-6h Post-dose

96

26.72

1.44

26.63

24.53

29.25

5.4

26.68

Day 1 - 6h Post-dose

96

1.82

0.05

1.82

1.73

1.91

3.0

1.82

Day 1 - 8h Post-dose

96

1.84

0.05

1.84

1.75

1.94

3.0

1.84

Day 1 - 6-12h Post-dose

96

22.52

1.61

22.43

20.06

25.34

7.1

22.47

Day 1 - 12h Post-dose

96

0.55

0.03

0.55

0.49

0.62

5.4

0.55

Day 1 - 16h Post-dose

96

0.16

0.02

0.16

0.13

0.20

10.0

0.16

Day 1 - 12-24h Post-dose

96

14.13

1.95

14.02

11.13

17.52

13.8

13.99

Day 2 - 24h Post-dose

96

0.01

0.00

0.01

0.01

0.02

19.7

0.01

Day 2 - Pre-dose

94

0.01

0.00

0.01

0.01

0.02

19.7

0.01

Day 2 - 36h Post-dose

96

0.00

0.00

0.00

0.00

0.00

0.0

0.01

Day 2 - 24-48h Post-dose

96

0.22

0.49

0.00

0.00

1.89

217.2

0.01

Day 3 - 48h Post-dose

96

0.00

0.00

0.00

0.00

0.00

0.0

0.01

Day 3 - Pre-dose

92

0.00

0.00

0.00

0.00

0.00

0.0

0.01

Note: Incongruous samples are not included in this summary.

Note: Concentrations below the lowest quantifiable concentration (ie, [xx.x ng/mL]) will be treated as zero in calculating the summary statistics.

Download RTF file

TPK01A
TPK02
Source Code
---
title: TPK01B
subtitle: Matrix Active Study Agent/Analyte Concentrations (units) Over Time
---

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

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

```{r setup, echo = FALSE, warning = FALSE, message = FALSE}
options(docx.add_datetime = FALSE, tidytlg.add_datetime = FALSE)
envsetup_config_name <- "default"

# Path to the combined config file
envsetup_file_path <- file.path("../..", "envsetup.yml")

Sys.setenv(ENVSETUP_ENVIRON = '')
library(envsetup)
loaded_config <- config::get(config = envsetup_config_name, file = envsetup_file_path)
envsetup::rprofile(loaded_config)


dpscomp <- compound
dpspdr <- paste(protocol,dbrelease,rpteff,sep="__")

aptcomp <- compound
aptpdr <- paste(protocol,dbrelease,rpteff,sep="__")

###### Study specific updates (formerly in envre)

dpscomp <- "standards"
dpspdr <- "jjcs__NULL__jjcs - core"

apt <- FALSE
library(junco)
default_str_map <- rbind(default_str_map, c("&ctcae", "5.0"))

```

## Output

:::: panel-tabset
## {{< fa regular file-lines sm fw >}} Preview

```{r variant1, results='hide', warning = FALSE, message = FALSE}

# Program Name:              tpk01b

# Prep environment:

library(envsetup)
library(dplyr)
library(rtables)
library(tern)
library(junco)

# Define script level parameters:

tblid <- "TPK01b"
fileid <- tblid
titles <- get_titles_from_file(input_path = '../../_data/', tblid)
string_map <- default_str_map
popfl <- "PKFL"
trtvar <- "TRT01A"

trt_grps <- c("Xanomeline High Dose", "Xanomeline Low Dose")

for (i in seq_along(trt_grps)) {
  trt_grp <- trt_grps[i]
  path <- paste0(fileid, "part", i)
  
  ##############################################################################
  # Process data:
  ##############################################################################
  
  adsl <- pharmaverseadamjnj::adsl |>
    filter(.data[[popfl]] == "Y") |>
    select(USUBJID, all_of(trtvar), PKFL) |>
    filter(.data[[trtvar]] == trt_grp) |>
    mutate(colspan = "Observed")
  
  adpc <- pharmaverseadamjnj::adpc |>
    filter(PARAMCD == "XAN") |>
    select(USUBJID, all_of(trtvar), AVISIT, ATPT, AVAL) |>
    filter(.data[[trtvar]] == trt_grp) |>
    inner_join(adsl) |>
    
    # Concatenate and reorder time points
    mutate(AVISIT_ATPT = factor(paste(AVISIT, ATPT, sep = " - "), levels = c(
      "Day 1 - Pre-dose",
      "Day 1 - 5 Min Post-dose",
      "Day 1 - 30 Min Post-dose",
      "Day 1 - 1h Post-dose",
      "Day 1 - 1.5h Post-dose",
      "Day 1 - 2h Post-dose",
      "Day 1 - 4h Post-dose",
      "Day 1 - 0-6h Post-dose",
      "Day 1 - 6h Post-dose",
      "Day 1 - 8h Post-dose",
      "Day 1 - 6-12h Post-dose",
      "Day 1 - 12h Post-dose",
      "Day 1 - 16h Post-dose",
      "Day 1 - 12-24h Post-dose",
      "Day 2 - 24h Post-dose",
      "Day 2 - Pre-dose",
      "Day 2 - 36h Post-dose",
      "Day 2 - 24-48h Post-dose",
      "Day 3 - 48h Post-dose", 
      "Day 3 - Pre-dose"
    )))
  
  ##############################################################################
  # Define layout and build table:
  ##############################################################################
  
  lyt <- basic_table() |>
    split_cols_by(
      var = trtvar,
      show_colcounts = TRUE,
      colcount_format = "N=xx",
      split_fun = drop_split_levels
    ) |>
    
    split_cols_by("colspan") |>
    
    split_rows_by(
      var = "AVISIT_ATPT",
      split_label = "Time Point",
      label_pos = "topleft",
      child_labels = "hidden"
    ) |>
    
    analyze_vars_in_cols(
      vars = "AVAL",
      .stats = c(
        "n",
        "mean",
        "sd",
        "median",
        "min",
        "max",
        "cv",
        "geom_mean"
      ),
      .labels = c(
        n = "N",
        mean = "Mean",
        sd = "SD",
        median = "Med",
        min = "Min",
        max = "Max",
        cv = "% CV",
        geom_mean = "Geometric Mean"
      ),
      .formats = c(
        n = jjcsformat_xx("xx"),
        mean = jjcsformat_xx("xx.xx"),
        sd = jjcsformat_xx("xx.xx"),
        median = jjcsformat_xx("xx.xx"),
        min = jjcsformat_xx("xx.xx"),
        max = jjcsformat_xx("xx.xx"),
        cv = jjcsformat_xx("xx.x"),
        geom_mean = jjcsformat_xx("xx.xx")
      )
    )
  
  result <- build_table(lyt, df = adpc, alt_counts_df = adsl)
  
  ##############################################################################
  # Add titles and footnotes:
  ##############################################################################
  
  result <- set_titles(result, titles)
  
  ##############################################################################
  # Convert to tbl file and output table:
  ##############################################################################
  
  tt_to_tlgrtf(string_map = string_map, tt = result, file = path, orientation = "landscape")
}
```
```{r result1, echo=FALSE, message=FALSE, warning=FALSE, test = list(result_v1 = "result")}
tt_to_flextable_j(result, tblid, string_map = string_map) 
```

[Download RTF file](`r paste0(tolower(tblid), '.rtf')`)
::::

Made with ❤️ by the J&J Team

  • Edit this page
  • Report an issue
Cookie Preferences