r-dplyr总结了逻辑条件功能



我有一个tibble与逻辑数据形式,我正在尝试总结。

>test
# A tibble: 17 x 1
test 
<lgl>
1 NA   
2 FALSE
3 FALSE
4 FALSE
5 FALSE
6 FALSE
7 FALSE
8 FALSE
9 TRUE 
10 FALSE
11 FALSE
12 FALSE
13 FALSE
14 FALSE
15 FALSE

将其输入汇总功能用于检查NAs

> test %>% summarise(sum(is.na(test)))
# A tibble: 1 x 1
`sum(is.na(test))`
<int>
1                  1

然而,我无法让它用于测试FALSE或TRUE

> test %>% summarise(sum(test==TRUE))
# A tibble: 1 x 1
`sum(test == TRUE)`
<int>
1                  NA
> test %>% summarise(sum(test==FALSE))
# A tibble: 1 x 1
`sum(test == FALSE)`
<int>
1                   NA

这是因为NA是求和的一部分。

Hadley Wickham建议解决这个问题https://github.com/tidyverse/dplyr/issues/539

test %>% filter(!is.na(test)) %>% summarise(sum(test==FALSE))
# A tibble: 1 x 1
`sum(test == FALSE)`
<int>
1                   15

我希望这能为其他人节省一些时间!

最新更新