## ----setup, include = FALSE---------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)

options(rmarkdown.html_vignette.check_title = FALSE)


## ----eval=FALSE, echo=TRUE----------------------------------------------------
# library(tidyverse)
# library(sassy)
# 
# 
# # Prepare Log -------------------------------------------------------------
# 
# 
# options("logr.autolog" = TRUE,
#         "logr.notes" = FALSE)
# 
# # Get temp location for log and report output
# tmp <- tempdir()
# 
# # Open log
# lf <- log_open(file.path(tmp, "example1.log"))
# 
# 
# # Load and Prepare Data ---------------------------------------------------
# 
# sep("Prepare Data")
# 
# # Get path to sample data
# pkg <- system.file("extdata", package = "libr")
# 
# # Define data library
# libname(sdtm, pkg, "csv", quiet = TRUE)
# 
# # Prepare data
# dm_mod <- sdtm$DM |>
#   select(USUBJID, SEX, AGE, ARM) |>
#   filter(ARM != "SCREEN FAILURE") |>
#   datastep({
# 
#     if (AGE >= 18 & AGE <= 24)
#       AGECAT = "18 to 24"
#     else if (AGE >= 25 & AGE <= 44)
#       AGECAT = "25 to 44"
#     else if (AGE >= 45 & AGE <= 64)
#       AGECAT <- "45 to 64"
#     else if (AGE >= 65)
#       AGECAT <- ">= 65"
# 
#   }) |>  put()
# 
# put("Get population counts")
# arm_pop <- count(dm_mod, ARM) |>  put()
# sex_pop <- count(dm_mod, SEX) |>  put()
# agecat_pop <- count(dm_mod, AGECAT) |>  put()
# 
# # Convert agecat to factor so rows will sort correctly
# agecat_pop$AGECAT <- factor(agecat_pop$AGECAT, levels = c("18 to 24",
#                                                           "25 to 44",
#                                                           "45 to 64",
#                                                           ">= 65"))
# # Sort agecat
# agecat_pop <- agecat_pop |>  arrange(AGECAT)
# 
# 
# # Create Plots ------------------------------------------------------------
# 
# 
# plt1 <- ggplot(data = arm_pop, aes(x = ARM, y = n)) +
#   geom_col(fill = "#0000A0") +
#   geom_text(aes(label = n), vjust = 1.5, colour = "white") +
#   labs(x = "Treatment Group", y = "Number of Subjects (n)")
# 
# plt2 <- ggplot(data = sex_pop, aes(x = SEX, y = n)) +
#   geom_col(fill = "#00A000") +
#   geom_text(aes(label = n), vjust = 1.5, colour = "white") +
#   labs(x = "Biological Sex", y = "Number of Subjects (n)")
# 
# plt3 <- ggplot(data = agecat_pop, aes(x = AGECAT, y = n)) +
#   geom_col(fill = "#A00000") +
#   geom_text(aes(label = n), vjust = 1.5, colour = "white") +
#   labs(x = "Age Categories", y = "Number of Subjects (n)")
# 
# 
# # Report ------------------------------------------------------------------
# 
# 
# sep("Create and print report")
# 
# 
# page1 <- create_plot(plt1, 4.5, 7) |>
#   titles("Figure 1.1", "Distribution of Subjects by Treatment Group")
# 
# page2 <- create_plot(plt2, 4.5, 7) |>
#   titles("Figure 1.2", "Distribution of Subjects by Biological Sex")
# 
# page3 <- create_plot(plt3, 4.5, 7) |>
#   titles("Figure 1.2", "Distribution of Subjects by Age Category")
# 
# rpt <- create_report(file.path(tmp, "./output/example1.rtf"), output_type = "RTF",
#                      font = "Arial") |>
#   set_margins(top = 1, bottom = 1) |>
#   page_header("Sponsor: Company", "Study: ABC") |>
#   add_content(page1) |>
#   add_content(page2) |>
#   add_content(page3) |>
#   footnotes("Program: DM_Figure.R") |>
#   page_footer(paste0("Date Produced: ", fapply(Sys.time(), "%d%b%y %H:%M")),
#               right = "Page [pg] of [tpg]")
# 
# res <- write_report(rpt)
# 
# 
# # Clean Up ----------------------------------------------------------------
# sep("Clean Up")
# 
# # Close log
# log_close()
# 
# # View log
# # file.show(lf)
# 
# # View report
# # file.show(res$file_path)
# 

