返回一行中选定列的最大值

时间:2018-10-16 15:44:57

标签: r dplyr

我想使用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”。

0 个答案:

没有答案