R 如何计算由不同列定义的间隔的累计和?

R 如何计算由不同列定义的间隔的累计和?,r,dplyr,R,Dplyr,我想计算一列中数字的累积和,向量的长度是可变的,由另一列中的值定义 例如: ti <- tibble(group = c(rep("A", 18), rep("B", 18)), year = c(1990:2007,1991:2008), x = c(NA, NA, NA, 20, NA, NA, NA, 15, NA, NA, NA, 3, 5, NA, 9, NA, NA, 20, 20, NA

我想计算一列中数字的累积和,向量的长度是可变的,由另一列中的值定义

例如:

ti <- tibble(group = c(rep("A", 18), rep("B", 18)),
             year = c(1990:2007,1991:2008),
             x = c(NA, NA, NA, 20, NA, NA, NA, 15, NA, NA, NA, 3, 5, NA, 9, NA, NA, 20,
                   20, NA, 17, NA, NA, NA, 30, 10, NA, NA, NA, 8, 17, NA, NA, NA, NA, 30),
             y = c(sample(1:100, 18), sample(1:100, 18)))
ti%和分组依据

非常感谢

这个解决方案应该有效。

库(dplyr)
种子集(220)
ti%
分组依据(分组)%>%
突变(y=cumsum(y))%>%
过滤器(!is.na(x))
#>#A tibble:13 x 4
#>#组:组[2]
#>组年份x y
#>       
#>1 A 1993 20 203
#>2A 1997 15458
#>3 A 2001 3 621
#>4 A 2002 5636
#>5 A 2004 9 761
#>6 A 2007 20 906
#>7 B 1991 20 15
#>8 B 1993 17 104
#>9 B 1997 30 409
#>10 B 1998 10 457
#>11 B 2002 8595
#>12 B 2003 17 694
#>13 B 2008 30 888

完美!谢谢你的解决方案!这是令人尴尬的简单:)