如何使用 ifelse 和缺失值进行变异?
How to mutate with ifelse and missing values?
我试图用另一列中同一行中的值填充一列,但我有缺失值。我正在尝试使用 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 %>%
mutate(isanimal = ifelse (is.na(isanimal),
as.character(animals), as.character(isanimal)
)
)
我试图用另一列中同一行中的值填充一列,但我有缺失值。我正在尝试使用 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 %>%
mutate(isanimal = ifelse (is.na(isanimal),
as.character(animals), as.character(isanimal)
)
)