【发布时间】:2021-08-13 20:39:16
【问题描述】:
我有一个包含一些值的数据框,我想在其中检查每一列,计算满足逻辑条件的次数。 我可以在基础 R 中管理它,但是我正在努力使用 dplyr 包。
一个示例数据框:
A = c(12,30,7,3,13)
B = c(23,26,45,9,15)
C = c(12,6,17,35,8)
D = c(22,10,9,20,16)
X = c(45,24,77,83,27)
df<- data.frame(A, B, C, D, X)
> A B C D X
12 23 12 22 45
30 26 6 10 24
7 45 17 9 77
3 9 35 20 83
13 15 8 16 27
我想返回列 A 到 D 的行数,其中所述列和 X 之间的某些操作返回 TRUE,例如: (2 * Col) + X > 90 的出现次数,
在基础 R 中,您可以执行以下操作:
sum((2*df$A) - df$X > 90)
返回在 A 列中满足条件的次数,然后对 B、C 和 D 重复。
我想知道在 dplyr 中是否有更简洁的方法来执行此操作,以返回一些数据,例如:
A B C D
1 3 2 2
其中这些值表示每列中满足条件的次数。
任何帮助将不胜感激!
【问题讨论】: