小编alb*_*eng的帖子

结合R中的因子水平

我想把级别"A","B"组合成"A + B".我通过以下方式成功完成了此操作:

x <- factor(c("A","B","A","C","D","E","A","E","C"))
x
#[1] A B A C D E A E C
#Levels: A B C D E
l <- c("A+B","A+B","C","D+E","D+E")
factor(l[as.numeric(x)])
#[1] A+B A+B A+B C   D+E D+E A+B D+E C  
#Levels: A+B C D+E
Run Code Online (Sandbox Code Playgroud)

有没有更简单的方法来做到这一点?(即更多可解释的函数名称,例如combine.factor(f,old.levels,new.levels)将有助于更容易理解代码.)

此外,我试图找到一个很好的命名函数,可能在dplyr包中使用数据框但没有运气.最接近的实施是

df %>% mutate(x = factor(l[as.numeric(x)]))
Run Code Online (Sandbox Code Playgroud)

r dplyr

6
推荐指数
2
解决办法
1万
查看次数

标签 统计

dplyr ×1

r ×1