【发布时间】:2016-01-08 02:37:48
【问题描述】:
我想计算应用于另一列的一组间隔[n, +∞)(即≥ n)的数据框列的条件总和。在下面的示例数据中,间隔应用于列a,列b 中的值有条件地求和。对于[0, +∞),所有a 列的值都是≥ 0,所以b_sum 是所有值的总和。对于[3, +∞),只有一条记录是≥ 3,所以b_sum 是500。
输入数据
a b
1.1 100
2.3 150
0.1 20
0.5 80
3.3 500
1.6 200
1.1 180
期望的结果
n b_sum
0 1230
1 1130
2 650
3 500
4 0
我确信使用for 循环会很简单;然而;我想避免这种方法并使用矢量化基 R 或 dplyr 方法。
【问题讨论】:
-
到目前为止你尝试了什么?
-
@Pascal。我会尝试
for循环,但我知道这不是R中最有效的方法。我举的例子是微不足道的。实际输入数据可能有超过一百万条记录。我可以在dplyr中按间隔进行求和,但仅限于每条记录唯一的间隔。我的示例有重叠的间隔。