如何根据特定顺序对每个id中的变量中的值求和

时间:2018-06-25 19:55:09

标签: r

你好,我是R的新手,我有一个这样的数据集:

id <- c(1,1,2,2,3,3,3,4,4,4,4,5,5,5,5,5,5)
x <- c(1,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1,0)
dat <- data.frame(id,x)

我正在尝试创建一个变量,该变量是每个id(如下面的变量y)中变量x中的值之和:

id x y
1 1 1
1 0 1
2 1 1
2 0 1
3 1 1
3 0 1
3 0 1
4 1 1
4 0 1
4 1 2
4 0 2
5 1 1
5 0 1
5 1 2
5 0 2
5 1 3
5 0 3

变量y的总和是累积的,并且遵守变量x中+1的顺序。例如,对于id = 5,x变量的值1出现3次。变量y的总和是第一个1,直到x达到另一个+1。则变量y为2,当x到达最后的+1时,变量y的值为3。

如何用R实现呢?我正在寻找一个变量,其输出像y一样大得多。谢谢!

0 个答案:

没有答案