【发布时间】:2021-07-12 12:19:10
【问题描述】:
我有一个 0 和 1 的数据集以及附加到它们的数量,
test = data.frame(seq = c(0,0,0,1,1,0,1,0,0), amount = c(91.0, 100.0, 0.0, 4.5, 5.5, 3.0, 23.0, 89.0, 56.0))
seq amount
1 0 91.0
2 0 100.0
3 0 0.0
4 1 4.5
5 1 5.5
6 0 3.0
7 1 23.0
8 0 89.0
9 0 56.0
事件由 0 的子序列中的第一个 0 定义。我对每个事件中零的数量(计数)以及总和感兴趣。
对于上面的 test,我们会:
- 事件1:0 0 0,金额:191.0
- 事件 2:0,金额:3.0
- 事件3:0 0,金额:145.0
所以,我想创建下表,
| Event | count | amount |
|------------|--------------|----------|
| 1 | 3 | 191.0 |
| 2 | 1 | 3.0 |
| 3 | 2 | 145.0 |
在之前的帖子中,@27 φ 9 向我发送了关于 Event 和 count 列的很棒的建议。
with(rle(test), data.frame(id = sequence(sum(values == 0)), count = lengths[values == 0]))
但是我怎样才能添加仍然使用 rle 的金额总和?
【问题讨论】: