使用 dplyr 更改变量值

Change value of variable with dplyr

我经常需要根据不同变量的值更改变量的值,如下所示:

mtcars$mpg[mtcars$cyl == 4] <- NA

我尝试用 dplyr 这样做,但惨遭失败:

mtcars %>%
mutate(mpg = mpg == NA[cyl == 4]) %>%
as.data.frame()

我如何用 dplyr 做到这一点?

我们可以用replace把'mpg'中的值改成NA对应的cyl==4

mtcars %>%
     mutate(mpg=replace(mpg, cyl==4, NA)) %>%
     as.data.frame()