R/utils-assert.R

Defines functions assert_columns

Documented in assert_columns

#' Check that dataframe has x column names
#'
#' @param dataframe dataframe to check
#' @param required_columns required column names
#'
#' @return silent if ok or else an error if something is missing.
#'
#' @keywords internal
assert_columns <- function(dataframe, required_columns) {
  d <- as.character(rlang::enexpr(dataframe))

  n <- names(dataframe)
  r <- required_columns %in% n
  if (all(r)) {
    return(NULL)
  }

  rlang::abort(
    glue::glue(
      "Assertion on `{d}` failed: requires columns ",
      "({paste(required_columns, collapse = ', ')})",
      " and is missing ({paste(required_columns[!r],collapse = ';')})"
    )
  )
}

Try the ffsimulator package in your browser

Any scripts or data that you put into this service are public.

ffsimulator documentation built on Feb. 16, 2023, 5:37 p.m.