web-dev-qa-db-ja.com

dplyrを使用して変数の値を変更する

次のように、別の変数の値に基づいて変数の値を定期的に変更する必要があります。

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

私はdplyrでこれをやろうとしましたが、惨めに失敗しました:

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

dplyrでこれを行うにはどうすればよいですか?

84
luciano

replaceを使用して、 'mpg'の値をcyl==4に対応するNAに変更できます。

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