【发布时间】:2019-04-23 09:41:22
【问题描述】:
我正在尝试用另一列中同一行中的值填充一列,其中缺少值。我正在尝试使用 dplyr 和 ifelse 来做到这一点。
当我执行下面的代码时,整列变为 NA。
df
animals isanimal
1 cat animal
2 cat animal
3 dog NA
4 dog NA
5 mouse animal
我试过的代码:
df <- df %>% mutate(isanimal = ifelse (df$isanimal == NA, df$isanimal ==
as.character(df$animals), df$isanimal == as.character(df$isanimal)))
我用这段代码得到了什么:
> df
animals isanimal
1 cat animal
2 cat animal
3 dog NA
4 dog NA
5 mouse animal
> df2
animals isanimal
1 cat NA
2 cat NA
3 dog NA
4 dog NA
5 mouse NA
任何帮助将不胜感激(包括帮助理解为什么这不起作用)。谢谢!
【问题讨论】:
-
您需要
df$isanimal[is.na(df$isanimal)] <- df$animals[is.na(df$isanimal)]吗?
标签: r if-statement na dplyr