Я хотел бы объединить уровни факторов, которые используются менее чем 5 раз для каждого фактора, в наборе данных, содержащем много различных факторов. Хотя я понимаю, что функция fct_lump () в пакете forcats может помочь мне достичь этого для одного фактора, есть ли функция, в которой я могу применить функцию fct_lump () ко всем факторам в моем наборе данных?
Мы можем проверить, является ли столбец factor с mutate_if и применить fct_lump
factor
mutate_if
fct_lump
library(dplyr) library(forcats) df1 %>% mutate_if(is.factor, fct_lump)
Или в base R
base R
i1 <- sapply(df1, is.factor) df1[i1] <- lapply(df1[i1], fct_lump)