## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = " " ) library(DT) options(cli.num_colors = 1) ## ----include=FALSE---------------------------------------- options(width = 60) local({ hook_output <- knitr::knit_hooks$get("output") knitr::knit_hooks$set(output = function(x, options) { if (!is.null(options$max.height)) { options$attr.output <- c( options$attr.output, sprintf('style="max-height: %s;"', options$max.height) ) } hook_output(x, options) }) }) ## ----include=FALSE---------------------------------------- knitr::knit_hooks$set(output = function(x, options) { if (!is.null(options$max_height)) { paste('
',
      x, "
", sep = "" ) } else { x } }) ## ----include=FALSE---------------------------------------- datatable_template <- function(input_data) { datatable( input_data, rownames = FALSE, options = list( autoWidth = FALSE, scrollX = TRUE, pageLength = 5, lengthMenu = c(5, 10, 15, 20) ) ) %>% formatStyle( 0, target = "row", color = "black", backgroundColor = "white", fontWeight = "500", lineHeight = "85%", fontSize = ".875em" # same as code ) } ## ----eval = TRUE, message = FALSE, warning = FALSE-------- # Loading packages library(dplyr) library(labelled) library(xportr) library(readxl) # Loading in our example data data("adsl_xportr", package = "xportr") ## ----echo = FALSE----------------------------------------- datatable_template(adsl_xportr) ## --------------------------------------------------------- var_spec <- read_xlsx( system.file(file.path("specs/", "ADaM_spec.xlsx"), package = "xportr"), sheet = "Variables" ) %>% rename(type = "Data Type") %>% rename_with(tolower) ## ----echo = FALSE, eval = TRUE---------------------------- var_spec_view <- var_spec %>% filter(dataset == "ADSL") datatable_template(var_spec_view) ## ----max_height = "200px", echo = FALSE------------------- str(adsl_xportr) ## ----echo = TRUE------------------------------------------ adsl_type <- xportr_type(adsl_xportr, var_spec, domain = "ADSL", verbose = "message") ## ----max_height = "200px", echo = FALSE------------------- str(adsl_type) ## ----max_height = "200px", echo = FALSE------------------- str(adsl_xportr) ## --------------------------------------------------------- adsl_length <- adsl_xportr %>% xportr_length(var_spec, domain = "ADSL", verbose = "message") ## ----max_height = "200px", echo = FALSE------------------- str(adsl_length) ## ----echo = TRUE------------------------------------------ adsl_order <- xportr_order(adsl_xportr, var_spec, domain = "ADSL", verbose = "message") ## ----echo = FALSE----------------------------------------- datatable_template(adsl_order) ## ----max_height = "200px", echo = FALSE------------------- adsl_fmt_pre <- adsl_xportr %>% select(TRTSDT, TRTEDT, TRTSDTM, TRTEDTM) tribble( ~Variable, ~Format, "TRTSDT", attr(adsl_fmt_pre$TRTSDT, which = "format"), "TRTEDT", attr(adsl_fmt_pre$TRTEDT, which = "format"), "TRTSDTM", attr(adsl_fmt_pre$TRTSDTM, which = "format"), "TRTEDTM", attr(adsl_fmt_pre$TRTEDTM, which = "format") ) ## --------------------------------------------------------- adsl_fmt <- adsl_xportr %>% xportr_format(var_spec, domain = "ADSL") ## ----max_height = "200px", echo = FALSE------------------- adsl_fmt_post <- adsl_fmt %>% select(TRTSDT, TRTEDT, TRTSDTM, TRTEDTM) tribble( ~Variable, ~Format, "TRTSDT", attr(adsl_fmt_post$TRTSDT, which = "format"), "TRTEDT", attr(adsl_fmt_post$TRTEDT, which = "format"), "TRTSDTM", attr(adsl_fmt_post$TRTSDTM, which = "format"), "TRTEDTM", attr(adsl_fmt_post$TRTEDTM, which = "format") ) ## ----max_height = "200px", echo = FALSE------------------- adsl_no_lbls <- haven::zap_label(adsl_xportr) str(adsl_no_lbls) ## --------------------------------------------------------- adsl_lbl <- adsl_xportr %>% xportr_label(var_spec, domain = "ADSL", "message") ## ----max_height = "200px"--------------------------------- str(adsl_lbl) ## --------------------------------------------------------- adsl_xportr %>% xportr_type(var_spec, "ADSL", "message") %>% xportr_length(var_spec, "ADSL", verbose = "message") %>% xportr_label(var_spec, "ADSL", "message") %>% xportr_order(var_spec, "ADSL", "message") %>% xportr_format(var_spec, "ADSL") %>% xportr_write("adsl.xpt")