This function groups data by var1 and recodes var2 based on specific conditions.
If var1 has only one unique var2 value, the original value is retained.
If var1 has two unique var2 values, the known value is assigned if one matches unknown_category;
otherwise, unknown_category is assigned.
If var1 has more than two unique var2 values, unknown_category is assigned.
Arguments
- data
A data frame or an element of a list dataset (output from
get_dataset()).- var1
A character string specifying the grouping variable.
- var2
A character string specifying the variable to be recoded.
- unknown_category
A character string specifying the ambiguous or unknown values in
var2.
Examples
df <- data.frame(ID = c(1, 1, 2, 2, 3, 3, 3),
Gender = c("Male", "Unknown", "Female", "Female", "Male", "Female", "Unknown"))
df
#> ID Gender
#> 1 1 Male
#> 2 1 Unknown
#> 3 2 Female
#> 4 2 Female
#> 5 3 Male
#> 6 3 Female
#> 7 3 Unknown
recode_values(df, var1 = "ID", var2 = "Gender", unknown_category = "Unknown")
#> Joining with `by = join_by(ID, Gender)`
#> Joining with `by = join_by(ID, Gender)`
#> # A tibble: 3 × 2
#> ID Gender
#> <dbl> <chr>
#> 1 2 Female
#> 2 1 Male
#> 3 3 Unknown
