This is intended to be used within a function to check the validity of a data
frame being returned from a function against the provided iface specification.
Value
a dataframe based on df with validity checks passed,
data-types coerced, and correct grouping applied to conform to iface
Details
As checks on output files can be unnecessary they are only run in certain circumstances:
interfacer::ireturn() checks run if:
an option is set:
options(interfacer.always_check=TRUE).we are locally developing a package and running functions in smoke testing e.g. with
devtools::load_all().we are developing functions in the global environment.
we are running functions in a
testthator R CMD check.we are running functions in a vignette during a R CMD check.
we are running functions in a R markdown file (e.g. vignette) interactively in RStudio.
checks are not run if:
package referencing
interfacer::ireturnis installed from CRAN or r-universepackage referencing
interfacer::ireturnis installed locally usingdevtools::installvignette building directly using
knitr(unless option is set in vignette).vignette building using
pkgdown::build_site().
Examples
input = iface(col_in = integer ~ "an integer column" )
output = iface(col_out = integer ~ "an integer column" )
x = function(df = input, ...) {
df = ivalidate(...)
tmp = df %>% dplyr::rename(col_out = col_in)
ireturn(tmp, output)
stop("not executed as function has returned")
}
x(tibble::tibble(col_in = c(1,2,3)))
#> interfacer: development mode active (local function).
#> This message is displayed once every 8 hours.
#> # A tibble: 3 × 1
#> col_out
#> * <int>
#> 1 1
#> 2 2
#> 3 3
output
#> A dataframe containing the following columns:
#> * col_out (integer) - an integer column
#> Any grouping allowed.