2015-01-18 10 views
47

Ich muss regelmäßig die Werte einer auf den Werten auf einer anderen Variable, wie diese Basis Variable ändern:ändern Wert der Variablen mit dplyr

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

Ich versuchte dies mit dplyr tun, aber kläglich gescheitert:

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

Wie konnte ich das mit dplyr?

+15

Ich kann nicht glauben, dass ich 5 Jahre gegangen bin, ohne zu wissen, dass "ersetzen" existierte. Willst du das zu einer Antwort ändern? – luciano

Antwort

118

Wir können replace verwenden, um die Werte in "mpg" in NA zu ändern, die cyl==4 entspricht.

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