Provides utility functions for validation and quality control of clinical trial datasets and outputs across 'SDTM', 'ADaM' and 'TFL' workflows. The package supports dataset loading, metadata inspection, frequency and summary calculations, table-ready aggregations, and compare-style dataset review similar to 'SAS' 'PROC COMPARE'. Functions are designed to support reproducible execution, transparent review, and independent verification of statistical programming results. Dataset comparisons may leverage 'arsenal' < https://cran.r-project.org/package=arsenal>.
output:

StatsTFLValR is an R package providing reusable, audit-ready utilities for validation of clinical trial datasets and outputs.
It is designed to support dataset review, comparison, counting, and table-level verification commonly required in regulated statistical programming workflows.
The package emphasizes:
StatsTFLValR is intended for use by Statistical Programmers, Statisticians, and validation reviewers.
get_data() – Load datasets from multiple formats (XPT, SAS, CSV, RDS) with validation and duplicate-file checksget_column_info() – Extract variable-level metadata (names, types, labels) for dataset inspection and documentationfreq_by() – Grouped subject counts and percentage summariesfreq_by_line() – Line-level frequency summaries for table-ready outputsmean_by() – Grouped descriptive statistics (mean, median, quantiles)sas_round() – SAS-style rounding utility for consistent percentagesSOCbyPT() – SOC–PT–level adverse event summariesSOCbyPT_Grade() – SOC–PT adverse event tables with toxicity grade splitsATCbyDrug() – Fully nested ATC-based concomitant medication summariesBuilt-in ordering, indentation, and formatting logic is designed to support TFL validation and QC review.
generate_compare_report() – PROC COMPARE–style dataset comparison utility
globals.R) to support CRAN checksps_helpers.R) reused across functions to ensure consistent behaviorThe following functions are currently exported in StatsTFLValR:
get_data() – Multi-format dataset loadingget_column_info() – Variable-level metadata extractionfreq_by() – Grouped N (%) summariesfreq_by_line() – Line-level frequency summariesmean_by() – Grouped descriptive statisticssas_round() – SAS-style rounding utilitySOCbyPT() – SOC–PT AE table generationSOCbyPT_Grade() – SOC–PT AE tables with grade splitsATCbyDrug() – ATC-based medication summariesgenerate_compare_report() – Dataset comparison (PROC COMPARE–style)| Capability Area | Function(s) | Typical Use Case |
|---|---|---|
| Dataset loading | get_data() |
Load datasets for review and QC |
| Metadata inspection | get_column_info() |
Variable-level dataset inspection |
| Frequency summaries | freq_by(), freq_by_line() |
N (%) table validation |
| Descriptive statistics | mean_by() |
Summary statistics QC |
| AE table validation | SOCbyPT(), SOCbyPT_Grade() |
SOC–PT AE tables |
| Concomitant medication summaries | ATCbyDrug() |
ATC-based summaries |
| Dataset comparison | generate_compare_report() |
Developer vs validator comparison |
| Rounding consistency | sas_round() |
SAS-aligned rounding |
install.packages("StatsTFLValR")
or
install.packages("StatsTFLValR", dependencies = TRUE)
# install.packages("remotes")
remotes::install_github("kalsem/StatsTFLValR")
library(StatsTFLValR)
packageVersion("StatsTFLValR")
library(StatsTFLValR)
Access function-level documentation:
?freq_by
?generate_compare_report
A PDF reference manual is available in the GitHub repository. 📄 Download StatsTFLValR PDF Manual
Lifecycle: Experimental
Under active development
Interfaces and behavior may change in future releases
Bug reports and enhancement requests can be submitted via GitHub issues.
This package is licensed under the MIT License. See the LICENSE file for details.
This package is provided as a supporting utility and does not replace formal validation or quality control processes.
Use of this package does not imply compliance with regulatory requirements.
Users are responsible for ensuring appropriate validation, documentation, and governance in accordance with their internal procedures.