REDCap_factors: Convert REDCap choice fields to factors

View source: R/REDCap_factors.R

REDCap_factorsR Documentation

Convert REDCap choice fields to factors

Description

Applies factor levels and labels using REDCap dictionary definitions for radio and checkbox fields (configurable via radio_value).

Usage

REDCap_factors(
  data,
  lookup,
  var_col = `Variable / Field Name`,
  type_col = `Field Type`,
  levels_col = `Choices, Calculations, OR Slider Labels`,
  radio_value = c("checkbox", "radio"),
  warn = TRUE
)

Arguments

data

Data frame containing REDCap records.

lookup

Data frame containing variable metadata.

var_col

Unquoted column in lookup with variable names.

type_col

Unquoted column in lookup with REDCap field types.

levels_col

Unquoted column in lookup with coded levels ("1, Yes | 0, No" format).

radio_value

Character vector of field types to convert.

warn

Logical; warn when variables are in lookup but absent from data.

Value

data with selected columns converted to factors.

Examples

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")

chronotype_with_factors <-
REDCap_factors(
  data = REDCap_example_chronotype,
  lookup = dict
)

chronotype_with_factors$mctq_work_travel
#original:
REDCap_example_chronotype$mctq_work_travel

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