使用来自r中多个变量的输入进行顺序计数

时间:2017-09-19 16:13:58

标签: r sequence

我想创建一个具有连续值的列,但它从df中另外两列的输入中获取其值。如果Team更改(1到2之间)或Event = x,我希望值顺序计数。任何帮助,将不胜感激!见下面的例子:

    Team   Event   Value
1    1       a       1
2    1       a       1
3    2       a       2
4    2       x       3
5    2       a       3
6    1       a       4
7    1       x       5
8    1       a       5
9    2       x       6
10   2       a       6 

1 个答案:

答案 0 :(得分:1)

这样做......

df$Value <- cumsum(df$Event=="x" | c(1, diff(df$Team))!=0)

它取这些元素的累积和(即TRUE值),其中Event=="x"Team的连续值的差异不为零。在diff术语的开头添加了一个额外的元素,以使其与原始元素保持相同的长度。