2015-01-18 15 views
47

ho regolarmente bisogno di cambiare i valori di una variabile in base ai valori in una variabile diversa, in questo modo:Cambio valore della variabile con dplyr

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

Ho provato a fare questo con dplyr ma fallì miseramente:

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

Come posso fare questo con dplyr?

+15

Non posso credere di aver passato 5 anni senza sapere che "Sostituisci" esisteva. Vuoi cambiarlo in una risposta? – luciano

risposta

118

Possiamo utilizzare replace per modificare i valori in "mpg" su NA che corrisponde a cyl==4.

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