Skip to content

Commit

Permalink
basic rendering function
Browse files Browse the repository at this point in the history
ref #5
  • Loading branch information
wibeasley committed Dec 30, 2021
1 parent ff96e27 commit 76c6b4c
Show file tree
Hide file tree
Showing 5 changed files with 119 additions and 6 deletions.
1 change: 1 addition & 0 deletions NAMESPACE
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@

export(execute_checks)
export(load_checks)
export(render_rmarkdown)
importFrom(rlang,.data)
3 changes: 1 addition & 2 deletions R/execute-checks.R
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
#' @title Load and parse checks in a yaml file, and return a list
#' of useful objects.
#' @title Execute the checks against a dataset to return a nested list.
#' @param ds The [data.frame] to be checked. Required.
#' @param checks The [list] describing the check. Is the output of
#' [trawler::load_checks()]. Required.
Expand Down
55 changes: 55 additions & 0 deletions R/render-rmarkdown.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
#' @title Render (executed) checks to an html document with [R Markdown](https://rmarkdown.rstudio.com/)
#' @param path_checks The file path of the output of
#' [trawler::execute_checks()]. Required.
#' @param directory_output A writable directory to save the report outputs.
#' The html file is the primary output. The markdown file is sometimes
#' useful too. Required.
#' @param path_template The
#' [rmd file](https://rmarkdown.rstudio.com/articles_intro.html),
#' which serves as the report template. Defaults to the
#' [standard template](https://github.com/OuhscBbmc/trawler/tree/main/inst/report-templates/rmarkdown-1/report-1.Rmd)
#' built into the trawler package.
#'
#' @examples
#' # Step 0: define paths.
#' # So this package example executes on every machine, temp files are used.
#'
#' # Replace the two paths for your specific project
#' path_data <- system.file("datasets/pt-event-biochemical.rds", package = "trawler")
#' path_defs <- system.file("checks/checks-biochemical.yml", package = "trawler")
#'
#' # In your real code, this will probably in a static directory.
#' # If PHI or sensitive info is contained, use a secure location.
#' directory_output <- file.path(tempdir(check = TRUE), "trawler")
#' if (!dir.exists(directory_output)) dir.create(directory_output)
#' path_checks <- tempfile("trawler-checks-", fileext = ".rds", tmpdir = directory_output)
#'
#' # Step 1: load the check definitions and the dataset to test
#' ds_pt_event <- readr::read_rds(path_data)
#' checks <- load_checks(path_defs)
#'
#' # Step 2: execute the checks and save to an rds file
#' execute_checks(ds_pt_event, checks) |>
#' readr::write_rds(path_checks)
#'
#' # Step 3: render checks as an html report with R Markdown
#' render_rmarkdown(path_checks, directory_output)
#'
#' # For the sake of this example, clean up temp files.
#' # You probably do NOT want this line in your real code.
#' unlink(directory_output, recursive = TRUE)
#'
#' @export
render_rmarkdown <- function (
path_checks,
directory_output,
path_template = system.file("report-templates/rmarkdown-1/report-1.Rmd", package = "trawler")
) {
checkmate::assert_file_exists(path_checks)

rmarkdown::render(
input = path_template,
params = list(path_checks = path_checks),
output_dir = directory_output
)
}
6 changes: 2 additions & 4 deletions man/execute_checks.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

60 changes: 60 additions & 0 deletions man/render_rmarkdown.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 76c6b4c

Please sign in to comment.