web-dev-qa-db-fra.com

Changer la valeur de la variable avec dplyr

J'ai régulièrement besoin de changer les valeurs d'une variable en fonction des valeurs d'une autre variable, comme ceci:

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

J'ai essayé de faire cela avec dplyr mais j'ai échoué lamentablement:

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

Comment pourrais-je faire cela avec dplyr?

87
luciano

Nous pouvons utiliser replace pour modifier les valeurs de 'mpg' en NA correspondant à cyl==4.

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