exportRecordsTyped
Validation and CastingThis set of functions assists in validating that the content of fields coming from REDCap match the MetaData, allowing for a validation report to provided. The cast helpers allow for transforming the REDCap data into R data types and allowing the user to customize the end product.
isNAorBlank(x, ...)valRx(rx)
valChoice(x, field_name, coding)
valPhone(x, field_name, coding)
castLabel(x, field_name, coding)
castCode(x, field_name, coding)
castRaw(x, field_name, coding)
castChecked(x, field_name, coding)
castCheckLabel(x, field_name, coding)
castCheckCode(x, field_name, coding)
castCheckForImport(checked = c("Checked", "1"))
castDpNumeric(dec_symbol = ",")
castDpCharacter(n_dec, dec_symbol = ",")
castTimeHHMM(x, field_name, coding)
castTimeMMSS(x, field_name, coding)
raw_cast
na_values(FUN)
An object of class list
of length 20.
character
. A vector to check.
Consumes anything else passed to function. I.e., field_name and coding.
character
. The regular expression pattern to check.
character(1)
. Name of the field(s)
named character
vector. The defined coding from the meta data.
character
. Values to recognize as checked in a
checkbox field.
character(1)
. The symbol in the field used to
denote a decimal.
integerish(1)
. The number of decimal places permitted
by the field validation.
function
. A function that takes a character vector.
Shawn Garbett, Benjamin Nutter
Functions passed to the na
, validation
, and
cast
parameter of exportRecordsTyped
all take the form
of function(x, coding, field_name)
. na
and validation
functions are expected to return a logical vector of the same length as the
column processed. Helper routines
are provided here for common cases to construct these functions.
isNAorBlank
returns TRUE/FALSE if field is NA or blank. Helper
function for constructing na
overrides in exportRecordsTyped
.
valRx
constructs a validation function from a regular expression pattern.
The function returns a TRUE/FALSE if the value matches the pattern.
valChoice
constructs a validation function from a set of choices
defined in the MetaData. The functions returns a TRUE/FALSE if the value
matches one of the choices.
valPhone
constructs a validation function for (North American)
phone numbers. It removes punctuation and spaces prior to validating
with the regular expression.
castLabel
constructs a casting function for multiple choice variables.
The field will be cast to return the choice label (generally more human readable)
castCode
constructs a casting function for multiple choice variables.
Similar to castLabel
, but the choice value is returned instead. The
values are typically more compact and their meaning may not be obvious.
castRaw
constructs a casting function that returns the content
from REDCap as it was received. It is functionally equivalent to identity
.
For multiple choice variables, the result will be coerced to numeric, if possible;
otherwise, the result is character vector.
castChecked
constructs a casting function for checkbox fields. It
returns values in the form of Unchecked/Checked.
castCheckLabel
and castCheckCode
also construct casting functions
for checkbox fields. For both, unchecked variables are cast to an empty
string (""). Checked variables are cast to the option label and option code,
respectively.
castCheckForImport
is a special case function to allow the user to
specify exactly which values are to be considered "Checked". Values that
match are returned as 1 and all other values are returned as 0. This is
motivated by the special case where the coding on a checkbox includes
"0, Option". In the resulting field checkbox___0
, a coded value
of 0 actually implies the choice was selected. In order to perform an
import on such data, it is necessary to cast it using
castCheckForImport(c("0"))
.
castDpNumeric
is a casting function for fields that use the
number_ndp_comma
field type (where n
is the number of
decimal places). This function will convert the values to numeric
values for use in analysis. This is a function that returns the
appropriate casting function, thus the appropriate usage when using
the defaults is cast = list(number_1dp_comma = castDpNumeric())
(using the parentheses).
castDpCharacter
is a casting function to return fields that use
number_ndp_comma
field types to character strings for import. This
is a function that returns the appropriate casting function, thus the
appropriate usage when casting for one decimal place is
cast = list(number_1dp_comma = castDpCharacter(1))
.
castTimeHHMM
and castTimeMMSS
are casting functions to
facilitate importing data. They convert time data into a character format
that will pass the API requirements.
raw_cast
overrides all casting if passed as the cast
parameter.
na_values
A helper function to create a list of functions
to test for NA based on field type. Useful for bulk override of
NA detection for a project. The output can be directly passed to the na
parameter of exportRecordsTyped
.