如何用另一列为条件的值填充一列?

时间:2020-05-21 13:52:22

标签: r dplyr

x最低时,我希望在列cyl中填充mpg的值。

在基本R中,我可以写类似

mtcars$x = mtcars[min(mtcars$mpg), "cyl"]

我该如何使用dplyr编写类似的内容?

2 个答案:

答案 0 :(得分:4)

我想你只是想要

mtcars %>% mutate(x = cyl[which.min(mpg)])

答案 1 :(得分:0)

使用mutate和ifelse的组合,您将能够实现所需的效果!

当mpg并非最低时,x的值为NA

library(dplyr)

mtcars%>%
  mutate(x = ifelse(mpg == min(mpg), cyl, NA))