checkbox variablesRewrites the labeling of checkbox variables from
Checked/Unchecked to Yes/No (or some other user specified labeling).
recodeCheck(
df,
vars,
old = c("Unchecked", "Checked"),
new = c("No", "Yes"),
reverse = FALSE
)A data frame, presumably retrieved from REDCap, though not a strict requirement.
Optional character vector of variables to convert. If left
missing, all of the variables in df that are identified as
checkbox variables are relabeled. See 'Details' for more about
identifying checkbox variables.
A character vector to be passed to factor.
This indicates the levels to be replaced and their order.
A character vector of labels to replace the values in
levels. The first value becomes the reference value.
For convenience, if the user would prefer to reverse the
order of the elements in levels and labels,
simply set this to TRUE.
checkbox variables are not identified using the metadata
from the REDCap database. Instead, variables are scanned, and those
variables in which every value is in levels are assumed to be
checkbox variables.
Realistically, this could be used to relabel any set of factors with
identical labels, regardless of the data source. The number of labels is
not limited, but levels and labels should have the same length.
The actual code to perform this is not particularly difficult
(df[checkbox] <- lapply(df[checkbox], factor, levels=levels, labels=labels)),
but checkbox variables are common enough in REDCap
(and the Checked/Unchecked scheme so unpalatable) that a quick way to
replace the labels was highly desirable