# Sys.setenv(GITHUB_PAT = "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")
# if (!require("remotes")) install.packages("remotes")
# remotes::install_github("insightsengineering/scda@*release")
#
#
# Sys.setenv(GITHUB_PAT = "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")
# if (!require("remotes")) install.packages("remotes")
# remotes::install_github("insightsengineering/scda.2022@*release")
library(scda)
##
library(tern)
## Loading required package: rtables
## Loading required package: formatters
## Loading required package: magrittr
## Registered S3 method overwritten by 'tern':
## method from
## tidy.glm broom
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(flextable)
# ls_synthetic_cdisc_data()
adsl <- synthetic_cdisc_dataset("latest", "adsl")
adqs <- synthetic_cdisc_dataset("latest", "adqs")
# Ensure character variables are converted to factors and empty strings and NAs are explicit missing levels.
adsl <- df_explicit_na(adsl)
adqs <- df_explicit_na(adqs)
adqs_multi <- filter(adqs, AVISIT == "WEEK 1 DAY 8")
# Define the split function
split_fun <- drop_split_levels
l <- basic_table() %>%
split_cols_by("ARMCD", ref_group = "ARM A") %>%
split_rows_by("PARAMCD",
split_fun = split_fun,
label_pos = "topleft",
split_label = obj_label(adqs_multi$PARAMCD)
) %>%
summarize_ancova(
vars = "CHG",
variables = list(
arm = "ARMCD",
covariates = c("BASE", "STRATA1")
),
conf_level = 0.95,
var_labels = "Adjusted mean"
)
result <- build_table(
lyt = l,
df = adqs_multi,
alt_counts_df = adsl
)
result
## Parameter Code ARM A ARM B ARM C
## ------------------------------------------------------------------------
## BFIALL
## Adjusted mean
## n 134 134 132
## Adjusted Mean 4.47 6.33 4.02
## Difference in Adjusted Means 1.85 -0.46
## 95% CI (-0.14, 3.85) (-2.45, 1.54)
## p-value 0.0679 0.6539
## FATIGI
## Adjusted mean
## n 134 134 132
## Adjusted Mean 5.42 4.83 4.56
## Difference in Adjusted Means -0.59 -0.86
## 95% CI (-2.58, 1.41) (-2.87, 1.15)
## p-value 0.5644 0.4026
## FKSI-FWB
## Adjusted mean
## n 134 134 132
## Adjusted Mean 4.29 3.51 3.06
## Difference in Adjusted Means -0.79 -1.24
## 95% CI (-2.71, 1.14) (-3.17, 0.69)
## p-value 0.4221 0.2088
## FKSI-TSE
## Adjusted mean
## n 134 134 132
## Adjusted Mean 4.70 3.84 4.45
## Difference in Adjusted Means -0.86 -0.25
## 95% CI (-2.80, 1.09) (-2.20, 1.70)
## p-value 0.3858 0.8007
## FKSIALL
## Adjusted mean
## n 134 134 132
## Adjusted Mean 5.03 5.82 6.44
## Difference in Adjusted Means 0.79 1.42
## 95% CI (-1.17, 2.76) (-0.56, 3.39)
## p-value 0.4288 0.1591
https://insightsengineering.github.io/tlg-catalog/stable/tables/efficacy/aovt01.html