2017-09-10 4 views
1

Ich frage mich, wie NA s in einer Spalte mit den Werten der anderen Spalte in R mit dplyr zu ersetzen. MWE ist unten.Ersetzen von NAs in einer Spalte mit den Werten anderer Spalte mit R

Letters <- LETTERS[1:5] 
Char <- c("a", "b", NA, "d", NA) 
df1 <- data.frame(Letters, Char) 
df1 

library(dplyr] 

df1 %>% 
    mutate(Char1 = ifelse(Char != NA, Char, Letters)) 

    Letters Char Char1 
1  A a NA 
2  B b NA 
3  C <NA> NA 
4  D d NA 
5  E <NA> NA 

Antwort

2

können Sie verwenden coalesce:

library(dplyr) 

df1 <- data.frame(Letters, Char, stringsAsFactors = F) 

df1 %>% 
    mutate(Char1 = coalesce(Char, Letters)) 

    Letters Char Char1 
1  A a  a 
2  B b  b 
3  C <NA>  C 
4  D d  d 
5  E <NA>  E 
Verwandte Themen