如何使用data.table中的条件语句计算前一行?

时间:2017-08-03 22:28:28

标签: r count data.table rows sequential

我想在data.table中创建一个新列,用于计算某些组的连续出现次数。并创建另一个clomun thta计算该序列的持续时间(是秒)。我的数据是这样的:

    minute second      teamId
1:     60     11 Atletico MG
2:     60     11 Atletico MG
3:     60     15     Avai FC
4:     60     18     Avai FC
5:     60     21 Atletico MG
6:     60     22 Atletico MG
7:     60     26 Atletico MG
8:     60     28 Atletico MG
9:     60     30 Atletico MG
10:    60     33 Atletico MG
11:    60     43 Atletico MG

输出应为:

    minute second      teamId  C1  C2
1:     60     11 Atletico MG   1   0
2:     60     11 Atletico MG   2   0
3:     60     15     Avai FC   1   0 
4:     60     18     Avai FC   2   3
5:     60     21 Atletico MG   1   0
6:     60     22 Atletico MG   2   1
7:     60     26 Atletico MG   3   5
8:     60     28 Atletico MG   4   7
9:     60     30 Atletico MG   5   9
10:    60     33 Atletico MG   6   12
11:    60     43 Atletico MG   7   22

for循环可以给出,但它非常慢。我的数据集有超过1百万行。求救!

0 个答案:

没有答案