## ----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")