我想在包含许多不同因素的数据集中,将每个因素使用次数少于5次的因素级别组合起来。虽然我知道forcats包中的fct_lump((函数可以帮助我为单个因素实现这一点,但有没有一个函数可以将fct_lumb((函数应用于数据集中的所有因素?
我们可以检查列是否为factor
和mutate_if
,并应用fct_lump
library(dplyr)
library(forcats)
df1 %>%
mutate_if(is.factor, fct_lump)
或在base R
中
i1 <- sapply(df1, is.factor)
df1[i1] <- lapply(df1[i1], fct_lump)