【发布时间】:2021-04-10 17:07:38
【问题描述】:
我有这个数据框,我想只使用pmap 函数来过滤所有值为负数或正数的行。我正在寻找一种简洁的方法,因为我想到了c(...),但我们只能在函数中使用它。
这段代码可以实现:
df <- tibble(x = c("a", "b", "c"), y = c(1, -1, -1), z = c(1, -1, 1),
p = c(1, -1, -1))
df %>%
filter(pmap_lgl(list(y, z, p), ~ ..1 > 0 & ..2 > 0 & ..3 > 0 |
..1 < 0 & ..2 < 0 & ..3 < 0))
# A tibble: 2 x 4
x y z p
<chr> <dbl> <dbl> <dbl>
1 a 1 1 1
2 b -1 -1 -1
因此,我正在寻找一种将谓词应用于所有值的方法,以防我有超过 3 个列,我不想这样命名或引用它们。
任何帮助将不胜感激,并在此先感谢您。
【问题讨论】: