小编cap*_*aed的帖子

if_else 没有按预期返回 NA(而是返回 false 条件)

我已经看到几个问题围绕这个问题跳舞,但似乎没有一个直接解决它。

我在数据框列中有字符数据,有些值为NA. 在if_else()帮助文件例子表明,它会留下NA作为NA,除非与另有规定missing的说法。

但是,在我的情况下,它认为NA它符合false参数标准,并以这种方式返回。这是预期的行为吗?是因为使用字符数据吗?我能看到预期的行为从帮助文件代码整数数据。

我查过str(my_df$test_vector),是字符数据,不是因子数据。

在此先感谢论坛大师。

例子:

> test_vector <- c("1dose", "2dose", "yes", "no", "undecided", NA) # data as it appears in my dataframe
> is.na(test_vector)  # behaves as expected
[1] FALSE FALSE FALSE FALSE FALSE  TRUE 
> if_else(test_vector %in% c("1dose", "2dose", "yes"), "yes", "no")  # does not behave as expected
[1] "yes" "yes" "yes" "no"  "no"  "no"
> if_else(test_vector …
Run Code Online (Sandbox Code Playgroud)

r dplyr

0
推荐指数
1
解决办法
61
查看次数

标签 统计

dplyr ×1

r ×1