最大值,我有以下的数据帧:添加一个新的变量,表示其存在的变量有每行
mydf <- data.frame(label = c("A", "B", "C"),
Var1 = c(0.07635660, 0.22186266, -0.13299621),
Var2 = c(0.25517996, 0.65896751, 0.32703359),
Var3 = c(0.63174426, 0.21518955, 0.47102852))
而且对于每一行,我要添加一个新的变量,将返回的名字
mydf_end_goal <- data.frame(label = c("A", "B", "C"),
Var1 = c(0.07635660, 0.22186266, -0.13299621),
Var2 = c(0.25517996, 0.65896751, 0.32703359),
Var3 = c(0.63174426, 0.21518955, 0.47102852),
Max = c("Var3", "Var2", "Var3"))
什么会是这样,最好使用dplyr
或purrr
的最有效的方式:为它取最大值的变量?现在,我可以拿出最好的是一系列的ifelse
条件,因为我有更多的变数比上面我的玩具例子变得非常烦人:
mydf %>%
rowwise() %>%
mutate(Max = ifelse(Var1 > Var2 & Var1 > Var3, "Var1",
ifelse(Var2 > Var1 & Var2 > Var3, "Var2", "Var3")))
我不知道'max.col()' - 非常简洁的答案。 – Phil