The tidyverse package forcats
has a number of useful functions for working with factors. For combining two levels, we could use fct_collapse()
.
library(dplyr, warn.conflicts = FALSE)
#> Warning: package 'dplyr' was built under R version 3.6.3
library(forcats)
#> Warning: package 'forcats' was built under R version 3.6.3
df <- tibble(disease_severity = factor(c("asymptotic", "healthy control", "healthy control",
"mild", "moderate", "severe", "critical severe",
"severe", "mild", "asymptotic", "moderate")))
glimpse(df$disease_severity)
#> Factor w/ 6 levels "asymptotic","critical severe",..: 1 3 3 4 5 6 2 6 4 1 ...
df$disease_severity <- fct_collapse(df$disease_severity, medium = c("mild", "moderate"))
glimpse(df$disease_severity)
#> Factor w/ 5 levels "asymptotic","critical severe",..: 1 3 3 4 4 5 2 5 4 1 ...
Created on 2020-09-02 by the reprex package (v0.3.0)