我有三个具有相同级别数的因子向量,如下所示:
eins <- c("no", "yes", "no")
zwei <- c("no", "no", "no")
drei <- c("yes", "yes", "no")
现在我需要根据多数因素水平将它们组合起来。所以在这个例子中:
combined
[1] "no" "yes" "no"
我知道如何构建一个 foo 循环,然后使用 if 语句创建一个新向量,但我想知道 R 中是否有更快/更好的方法。
感谢您的帮助!
最佳答案
类似于以下内容:
a <- apply(cbind(eins, zwei, drei), 1, table)
sapply(a, function(x) names(x)[which.max(x)])
#[1] "no" "yes" "no"
关于r - 在 R 中通过多数投票将因素合并为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51486916/