1

我想为包含许多不同因素的数据集中的每个因素组合使用少于 5 次的因素水平。虽然我知道 forcats 包中的 fct_lump() 函数可以帮助我针对单个因素实现这一目标,但是否有一个函数可以将 fct_lump() 函数应用于我数据集中的所有因素?

4

1 回答 1

1

我们可以检查该列是否为factorwithmutate_if和 applyfct_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)
于 2020-03-31T17:23:39.323 回答