用dplyr改变variables的值

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

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

我试着用dplyr做这个,但是失败了:

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

我怎么能用dplyr做到这dplyr

我们可以使用replace将'mpg'中的值更改为对应于cyl==4 NA

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