Skip to content

Latest commit

 

History

History
97 lines (66 loc) · 5.44 KB

README.md

File metadata and controls

97 lines (66 loc) · 5.44 KB

R-CMD-check Codecov test coverage License:MIT

valtools

valtools helps automate the validation of R packages used in clinical research and drug development: It provides useful templates and helper functions for tasks that arise during project set up and development of the validation framework.

This package is created by the R Package Validation Framework PHUSE Working Group.

For background on the R Package Validation Framework, watch this presentation from RStudio::Global Pharma X Session.

Installation

To install the most recent version officially released on GitHub, use:

remotes::install_github("phuse-org/valtools", ref = remotes::github_release())

To install the latest development version, use:

remotes::install_github("phuse-org/valtools")

Usage

{valtools} is intended to be a bolt-on addition to the standard package development process followed by usethis and devtools. All {valtools} functions start with vt followed by a verb/descriptor to make them easy to follow. The most common usage for valtools is to add elements required for validation under the R Package Validation Framework and facilitating validation. See the Starting New Validation Package using {valtools} vignette for more details.

Adding Validation Content

  • vt_use_validation() adds the validation infrastructure to an existing R package.
  • vt_use_req(), vt_use_test_case(), vt_use_test_code add the requirements, test cases and test code to the validation folder.
  • vt_use_change_log() creates a change log in the validation folder
  • vt_use_report() creates the validation report Rmd that gets rendered into the validation report.

Authoring A Validation Report

These functions are helper functions for use within the validation report Rmd.

  • vt_path() allows user to base path from the validation directory. Similar idea to the {here} package, but for validation.

  • vt_file() allows the user to point to specific files and render them as child documents within the report.

  • vt_scrape_* family of functions allows users to scrape information from the validation infrastructure and returns a data.frame.

    • vt_scrape_sig_table() Scrapes the usernames and roles from the validation config file
    • vt_scrape_val_env() Scrapes the environment to give a snapshot of what packages and versions are loaded during validation
    • vt_scrape_change_log() Scrapes the change log
    • vt_scrape_coverage_matrix() Scrapes the coverage roxygen tags in the test case
    • vt_scrape_function_editors() Scrapes the editors of all the functions
    • vt_scrape_requirement_editors() Scrapes the requirement editors
    • vt_scrape_test_case_editors() Scrapes the test case editors
    • vt_scrape_test_code_editors() Scrapes the test code editors
    • vt_scrape_risk_assessment() Scrapes the risk assessments
  • vt_kable_* family functions provides an opinionated formatting to the vt_scrape_* functions to help quickly construct the report.

  • vt_get_child_files() returns the list of files that are indicated in the validation.yml to be included in the validation report. This allows for batch creation of the dynamic content in the report.

Validating

  • vt_validate_source() installs the package temporarily and executes the validation report rmd to validate the source code on the current system.
  • vt_validate_build() installs the package temporarily, executes the validation report rmd, and compiles it into a bundle for installing.
  • vt_validate_install() installs the package temporarily, executes the validation report rmd, and installs the library to the machine.
  • vt_validate_installed_package() runs the validation report rmd for a package that was installed using vt_validate_install() for when the environment has changed.

Vignettes

Read the Starting New Validation Package using {valtools} vignette for a high level overview of the functions that exist in {valtools} and their intended uses.

Cheat Sheet

Cheat sheet on how to use the {valtools} R Package

Cheatsheet on how to use the {valtools} R Package - functions Cheatsheet on how to use the {valtools} R Package - functions & validation modes

Code of conduct

Please note that the {valtools} project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.