【发布时间】:2020-12-08 08:54:25
【问题描述】:
想象一个数据框有多个因子列,具有相同的水平,但不同的条目(可能来自调查)。
f1=factor(sample(1:4,10,replace=T))
f2=factor(sample(1:4,10,replace=T))
f3=factor(sample(1:4,10,replace=T))
df=data.frame(id=1:10,f1,f2,f3)
我想创建一个新的因子变量,如果之前定义的三个因子中的至少两个在级别 1 或 2 中,则该变量的值为 1,如果 f1,@987654323 中的至少两个,则值为 2 @,f3 处于第 3 级,如果 f1,f2,f3 中的至少两个处于第 4 级,则值为 3,否则值为 4(如果存在这种情况?)。
我知道可以通过将 if else 语句与大量逻辑运算符进行非常深的嵌套来做到这一点。但我想知道是否有使用dplyr 函数的更优雅的解决方案?
【问题讨论】:
标签: r data-manipulation