encode_bin_cat_vec: Encode a categorical vector with binary categories

View source: R/QC_clean.R

encode_bin_cat_vecR Documentation

Encode a categorical vector with binary categories

Description

In a character vector, converts binary categories to factor levels.

Usage

encode_bin_cat_vec(x, values = NULL, numeric_out = FALSE)

Arguments

x

non-numeric input vector

values

Optional named vector of user-defined values for binary values using binary_label_1 = binary_label_2 syntax (e.g. c("No" = "Yes") would assign level 1 to "No" and 2 to "Yes").

numeric_out

If true, numeric vector is returned. If false, factor is returned.

Details

Before pair matching, mixed boolean encodings are normalised automatically. If all unique non-missing values are boolean synonyms (e.g. a column containing "false" and "true" recorded inconsistently as "False" or "No"), they are collapsed to canonical "false"/"true" so that the "false"="true" default pair matches. The synonyms recognised are: "false", "FALSE", "False", "no", "No", "NO", "n", "N" (negative); and "true", "TRUE", "True", "yes", "Yes", "YES", "y", "Y" (positive). Note: numeric "0"/"1" are intentionally excluded as they are ambiguous (e.g. "0" may represent a missing value); handle these with strings_to_NA beforehand.

Binary categories to convert can be specified with a named character vector, specified in values. The syntax of the named vector is: negative_finding = positive_finding. If values is not provided, the default list will be used: "No"="Yes", "No/unknown"="Yes", "no/unknown"="Yes", "Non-user"="User", "Never"="Ever", "WT"="MT", "Male"="Female", "male"="female", "M"="F", "m"="f", "FALSE"="TRUE", "false"="true", "0"="1", "rural"="urban", "Absent"="Present", "absent"="present", "Negative"="Positive", "negative"="positive".

Value

Factor with false finding encoded as 1 and true finding encoded as 2. Alternatively, numeric vector if numeric_out parameter is TRUE.


eHDPrep documentation built on Oct. 21, 2026, 5:10 p.m.