Generate tables, listings, and graphs (TLG) using 'tidyverse'. Tables can be created functionally, using a standard TLG process, or by specifying table and column metadata to create generic analysis summaries. The 'envsetup' package can also be leveraged to create environments for table creation.

The goal of tidytlg is to generate table, listings, and graphs (TLG) using Tidyverse. This can be achieved multiple ways with this package.
# install.packages("devtools")
devtools::install_github("pharmaverse/tidytlg")
library(dplyr)
library(tidytlg)
# Note cdisc_adsl is built into the package for use
ittpop <- cdisc_adsl %>%
filter(ITTFL == "Y")
# frequency of Intend-to-Treat patients by planned treatment
tbl1 <- freq(ittpop,
rowvar = "ITTFL",
statlist = statlist("n"),
colvar = "TRT01P",
rowtext = "Analysis Set: Intend-to-Treat Population",
subset = ITTFL == "Y")
# N, MEAN (SD), MEDIAN, RANGE, IQ Range of age by planned treatment
tbl2 <- univar(ittpop,
rowvar = "AGE",
colvar = "TRT01P",
row_header = "Age (Years)")
# frequency of Race by planned treatment
tbl3 <- freq(ittpop,
rowvar = "RACE",
statlist = statlist(c("N", "n (x.x%)")),
colvar = "TRT01P",
row_header = "Race, n(%)")
# combine results together
tbl <- bind_table(tbl1, tbl2, tbl3)
# conver to hux object -----------------------------------------------------------------
gentlg(huxme = tbl ,
orientation = "landscape",
file = "DEMO",
title = "Custom Method",
footers = "Produced with tidytlg",
colspan = list(c("", "", "Xanomeline", "Xanomeline")),
colheader = c("", "Placebo", "High", "Low"),
wcol = .30)
library(dplyr)
library(tidytlg)
adsl <- cdisc_adsl
table_metadata <- tibble::tribble(
~anbr,~func, ~df, ~rowvar, ~rowtext, ~row_header, ~statlist, ~subset,
1, "freq", "adsl", "ITTFL", "Analysis set: itt", NA, statlist("n"), "ITTFL == 'Y'",
2, "univar", "adsl", "AGE", NA, "Age (Years)", NA, NA,
3, "freq", "adsl", "RACE", NA, "Race, n(%)", statlist(c("N", "n (x.x%)")), NA
) %>%
mutate(colvar = "TRT01PN")
tbl <- generate_results(table_metadata,
column_metadata_file = system.file("extdata/column_metadata.xlsx", package = "tidytlg"),
tbltype = "type1")
# conver to hux object -----------------------------------------------------------------
tblid <- "Table01"
gentlg(huxme = tbl,
orientation = "landscape",
file = tblid,
title_file = system.file("extdata/titles.xls", package = "tidytlg"),
wcol = .30)