interfacer: Define and Enforce Contracts for Dataframes as Function Parameters

A dataframe validation framework for package builders who use dataframes as function parameters. It performs checks on column names, coerces data-types, and checks grouping to make sure user inputs conform to a specification provided by the package author. It provides a mechanism for package authors to automatically document supported dataframe inputs and selectively dispatch to functions depending on the format of a dataframe much like S3 does for classes. It also contains some developer tools to make working with and documenting dataframe specifications easier. It helps package developers to improve their documentation and simplifies parameter validation where dataframes are used as function parameters.

Version: 0.2.3
Depends: R (≥ 2.10)
Imports: dplyr, glue, magrittr, purrr, rlang, tibble, tidyselect, stringr, forcats, knitr, digest, roxygen2
Suggests: rmarkdown, devtools, ggplot2, testthat (≥ 3.0.0), fs, readr, usethis, whisker, clipr, tidyr, binom, spelling
Published: 2024-08-01
DOI: 10.32614/CRAN.package.interfacer
Author: Robert Challen ORCID iD [aut, cre, cph]
Maintainer: Robert Challen <rob.challen at bristol.ac.uk>
BugReports: https://github.com/bristol-vaccine-centre/interfacer/issues
License: MIT + file LICENSE
URL: https://bristol-vaccine-centre.github.io/interfacer/, https://github.com/bristol-vaccine-centre/interfacer
NeedsCompilation: no
Language: en-GB
Materials: README NEWS
CRAN checks: interfacer results

Documentation:

Reference manual: interfacer.pdf
Vignettes: Tools to work with 'interfacer' (source, R code)
Multiple dispatch based on dataframes (source, R code)
Dataframe validation (source, R code)
Nested dataframes and 'purrr' style list columns (source, R code)

Downloads:

Package source: interfacer_0.2.3.tar.gz
Windows binaries: r-devel: interfacer_0.2.3.zip, r-release: interfacer_0.2.3.zip, r-oldrel: interfacer_0.2.3.zip
macOS binaries: r-release (arm64): interfacer_0.2.3.tgz, r-oldrel (arm64): interfacer_0.2.3.tgz, r-release (x86_64): interfacer_0.2.3.tgz, r-oldrel (x86_64): interfacer_0.2.3.tgz

Linking:

Please use the canonical form https://CRAN.R-project.org/package=interfacer to link to this page.