У моего df есть два столбца a
и b
. Строки, которые содержат значения для a
, являются NA в b
и наоборот. Я sh создаю новый столбец ab
, который будет содержать только значения, которые не являются NA
Мои данные:
df = data.frame (a = c(rep("c",4), (rep(NA,4))), b = c(rep(NA,4),rep("e",4)))
Сначала я попытался с помощью dplyr
df = df %>%
mutate (ab = ifelse (is.na (a), b, a))
и base
df$ab = ifelse (is.na(df$a), df$b, df$a)
Результат тот же:
a b ab
1 c <NA> 1
2 c <NA> 1
3 c <NA> 1
4 c <NA> 1
5 <NA> e 1
6 <NA> e 1
7 <NA> e 1
8 <NA> e 1
Мои вопросы: 1. Почему он возвращается значение, которого нет ни в одном из истинных или ложных аргументов? 2. Как я могу создать столбец, который объединяет a
и b
, согласно которому никогда не будет NA? (желательно с использованием dplyr
)