## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)

## ----eval=FALSE---------------------------------------------------------------
# #' Demographic table
# #'
# #' @param adsl ADSL data set, dataframe
# #' @param arm Arm variable, character, "`TRT01P" by default.
# #' @param vars Characters of variables
# #' @param stats see `.stats` from [tern::analyze_vars()]
# #' @param split_by_study Split by study, building structured header for tables
# #' @param side_by_side "GlobalAsia" or "GlobalAsiaChina" to define the side by side requirement
# #' @return rtables object
# #' @inherit gen_notes note
# #' @export
# #' @examples
# #' library(dplyr)
# #' adsl <- eg_adsl
# #' out1 <- t_dm_slide(adsl, "TRT01P", c("SEX", "AGE", "RACE", "ETHNIC", "COUNTRY"))
# #' print(out1)
# #' generate_slides(out1, paste0(tempdir(), "/dm.pptx"))
# #'
# #' out2 <- t_dm_slide(adsl, "TRT01P", c("SEX", "AGE", "RACE", "ETHNIC", "COUNTRY"),
# #'   split_by_study = TRUE
# #' )
# #' print(out2)
# #'
# t_dm_slide <- function(adsl,
#                        arm = "TRT01P",
#                        vars = c("AGE", "SEX", "RACE"),
#                        stats = c("median", "range", "count_fraction"),
#                        split_by_study = FALSE,
#                        side_by_side = NULL) {
#   if (is.null(side_by_side)) {
#     extra <- NULL
#   } else {
#     extra <- c("COUNTRY")
#   }
# 
#   for (v in c(vars, extra)) {
#     assert_that(has_name(adsl, v))
#   }
# 
#   adsl1 <- adsl %>%
#     select(all_of(c("STUDYID", "USUBJID", arm, vars, extra)))
# 
#   lyt <- build_table_header(adsl1, arm,
#     split_by_study = split_by_study,
#     side_by_side = side_by_side
#   )
# 
#   lyt <- lyt %>%
#     analyze_vars(
#       na.rm = TRUE,
#       .stats = stats,
#       denom = "n",
#       vars = vars,
#       .formats = c(mean_sd = "xx.xx (xx.xx)", median = "xx.xx"),
#       var_labels = formatters::var_labels(adsl1)[vars]
#     )
# 
#   result <- lyt_to_side_by_side(lyt, adsl1, side_by_side)
# 
#   if (is.null(side_by_side)) {
#     # adding "N" attribute
#     arm <- col_paths(result)[[1]][1]
# 
#     n_r <- data.frame(
#       ARM = toupper(names(result@col_info)),
#       N = col_counts(result) %>% as.numeric()
#     ) %>%
#       `colnames<-`(c(paste(arm), "N")) %>%
#       dplyr::arrange(get(arm))
# 
#     attr(result, "N") <- n_r
#   }
#   result@main_title <- "Demographic slide"
#   result
# }

## ----eval=FALSE---------------------------------------------------------------
# #' Demographic table
# #' @importFrom autoslider.core t_dm_slide
# #' @examples
# #' library(dplyr)
# #' adsl <- eg_adsl
# #' out1 <- t_dm_slide(adsl, "TRT01P", c("SEX", "AGE", "RACE", "ETHNIC", "COUNTRY"))
# #' print(out1)
# #' generate_slides(out1, "dm.pptx")
# #'
# #' out2 <- t_dm_slide(adsl, "TRT01P", c("SEX", "AGE", "RACE", "ETHNIC", "COUNTRY"),
# #'   split_by_study = TRUE
# #' )
# #' print(out2)
# #'
# #' @export
# autoslider.core::t_dm_slide

