【发布时间】:2021-12-28 22:54:34
【问题描述】:
也许我不明白过滤器在 dplyr 中的工作原理,但我认为您可以使用!在一个条件前面过滤补码。下面的第一个条件正确返回 n = 203,但我想从数据集中排除那些。不能用 !并按照我的尝试进行过滤(错误地返回 1056 个观测值而不是 1607 - 203 = 1404)。
否则,我如何轻松做到这一点?
> dat |>
+ summarise(n = n())
# A tibble: 1 × 1
n
<int>
1 1607
>
> dat |>
+ filter(max_num > 1 & base_end_diff < 0 | max_num > 1 & mostrecent_start_diff < 0) |>
+ summarise(n = n())
# A tibble: 1 × 1
n
<int>
1 203
>
> dat |>
+ filter(!(max_num > 1 & base_end_diff < 0 | max_num > 1 & mostrecent_start_diff < 0)) |>
+ summarise(n = n())
# A tibble: 1 × 1
n
<int>
1 1056
【问题讨论】: