dplyr过滤器是否总是删除解析为NA的条件?

时间:2016-06-30 03:18:06

标签: r dplyr

考虑以下数据集:

df_test_1 <- 
    data.frame(time = c(seq(20, 40, by = 5), NA))

查找time大于零的所有行:

log_vec <- df_test_1$time > 0

这样:

> log_vec
[1] TRUE TRUE TRUE TRUE TRUE   NA

考虑在基础R中对此条件下的原始数据集进行过滤:

> df_test_1[log_vec, ,drop = FALSE]
   time
1    20
2    25
3    30
4    35
5    40
NA   NA

dplyr版本:

> df_test_1 %>% filter(log_vec)
  time
1   20
2   25
3   30
4   35
5   40

注意如何在基数R中返回带有NA的行,而不是dplyr。为什么会发生这种情况,这种行为是否总能得到预期?我在帮助文件?filter中找不到相关文档。 (注意,此问题先前已在此问题Use group_by to filter specific cases while keeping NAs

中观察到

0 个答案:

没有答案