Learn R Programming

pointblank (version 0.3.0)

col_is_numeric: Do the columns contain numeric values?

Description

The col_is_numeric() validation step function checks whether one or more columns is of the numeric type. Like many of the col_is_*()-type functions in pointblank, the only requirement is a specification of the column names. This function can be used directly on a data table or with an agent object (technically, a ptblank_agent object). Each validation step will operate over a single test unit, which is whether the column is a numeric-type column or not.

Usage

col_is_numeric(x, columns, actions = NULL, brief = NULL)

Arguments

x

A data frame, tibble, or an agent object of class ptblank_agent.

columns

The column (or a set of columns, provided as a character vector) to which this validation should be applied.

actions

A list containing threshold levels so that the validation step can react accordingly when exceeding the set levels. This is to be created with the action_levels() helper function.

brief

An optional, text-based description for the validation step.

Value

Either a ptblank_agent object or a table object, depending on what was passed to x.

Function ID

2-17

Details

If providing multiple column names, the result will be an expansion of validation steps to that number of column names (e.g., vars(col_a, col_b) will result in the entry of two validation steps). Aside from column names in quotes and in vars(), tidyselect helper functions are available for specifying columns. They are: starts_with(), ends_with(), contains(), matches(), and everything().

Often, we will want to specify actions for the validation. This argument, present in every validation step function, takes a specially-crafted list object that is best produced by the action_levels() function. Read that function's documentation for the lowdown on how to create reactions to above-threshold failure levels in validation. The basic gist is that you'll want at least a single threshold level (specified as either the fraction test units failed, or, an absolute value), often using the warn_at argument. This is especially true when x is a table object because, otherwise, nothing happens. For the col_is_*()-type functions, using action_levels(warn_at = 1) or action_levels(stop_at = 1) are good choices depending on the situation (the first produces a warning, the other stop()s).

Want to describe this validation step in some detail? Keep in mind that this is only useful if x is an agent. If that's the case, brief the agent with some text that fits. Don't worry if you don't want to do it. The autobrief protocol is kicked in when brief = NULL and a simple brief will then be automatically generated.

See Also

Other Validation Step Functions: col_exists(), col_is_character(), col_is_date(), col_is_factor(), col_is_integer(), col_is_logical(), col_is_posix(), col_vals_between(), col_vals_equal(), col_vals_gte(), col_vals_gt(), col_vals_in_set(), col_vals_lte(), col_vals_lt(), col_vals_not_between(), col_vals_not_equal(), col_vals_not_in_set(), col_vals_not_null(), col_vals_null(), col_vals_regex(), conjointly(), rows_distinct()

Examples

Run this code
# NOT RUN {
library(dplyr)

# Create a simple table with a
# column of `numeric` values
tbl <- tibble(a = c(5.1, 2.9))

# Validate that column `a` in the
# table is classed as `numeric`
agent <-
  create_agent(tbl = tbl) %>%
  col_is_numeric(vars(a)) %>%
  interrogate()

# Determine if this column
# validation has passed by using
# `all_passed()`
all_passed(agent)

# }

Run the code above in your browser using DataLab