REDCap_coltype_check: Check data column classes against REDCap expectations

View source: R/REDCap_coltype_check.R

REDCap_coltype_checkR Documentation

Check data column classes against REDCap expectations

Description

Uses REDCap codebook metadata to infer expected classes and compares these to classes in data.

Usage

REDCap_coltype_check(
  codebook,
  indicator_POSIXct = "datetime_dmy",
  indicator_date = "Date",
  indicator_time = "time",
  indicator_logical = "yesno",
  indicator_numeric.val_col = c("number", "integer"),
  indicator_numeric.type_col = c("radio", "dropdown"),
  label_col = `Field Label`,
  name_col = `Variable / Field Name`,
  type_col = `Field Type`,
  val_col = `Text Validation Type OR Show Slider Number`,
  data
)

Arguments

codebook

REDCap data dictionary.

indicator_POSIXct

Indicator in val_col identifying datetime fields.

indicator_date

Pattern used in labels to identify date variables.

indicator_time

Indicator in val_col identifying time-only fields.

indicator_logical

Indicator in type_col identifying logical fields.

indicator_numeric.val_col

Indicators in val_col for numeric fields.

indicator_numeric.type_col

Indicators in type_col for numeric fields.

label_col

Unquoted codebook label column.

name_col

Unquoted codebook variable-name column.

type_col

Unquoted codebook field-type column.

val_col

Unquoted codebook validation/type-hint column.

data

Data frame to validate.

Value

A list with ok, summary, and per-column details.

Examples


library(gt)
dict_path <- system.file("ext", "DataDictionary_sleepdiary.csv",
  package = "melidosData"
)
dict <- utils::read.csv(dict_path, check.names = FALSE)

coltype_check <- REDCap_coltype_check(dict, data = REDCap_example_sleep)
coltype_check$ok
coltype_check$summary
coltype_check$details |> gt()

dict_path <- system.file("ext", "DataDictionary_chronotype.csv",
  package = "melidosData"
)
dict <- utils::read.csv(dict_path, check.names = FALSE)
dict <- REDCap_codebook_prepare(dict, form.filter = "mctq")

coltype_check <- REDCap_coltype_check(dict, data = REDCap_example_chronotype)
coltype_check$ok
coltype_check$summary
coltype_check$details

melidosData documentation built on April 22, 2026, 5:09 p.m.