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