我想使用dplyr做到这一点。我不知道是否以及如何在dplyr语法中使用max.col
。另外,我看不到如何使用apply(which.max())
获得较高值的索引
在我的尝试之下,但似乎并不十分简洁。此外,如果超过2列,它将变得非常乏味。我有一种明显的缺失。
foo_df <- data.frame(id = letters[1:4], val1 = 1:4, val2 = 5:2)
require(dplyr)
# the following gives the desired output
foo_df %>% mutate(max_val = case_when(val1 >= val2 ~ val1,
val1 < val2 ~ val2))
id val1 val2 max_val
1 a 1 5 5
2 b 2 4 4
3 c 3 3 3
4 d 4 2 4
理想情况下,领带应该能够以不同的方式处理,例如“随机”或“ colx”。