预定义上限之间的增量cumsum

时间:2014-01-30 13:09:27

标签: r

我有下一个数据

ID <-c (1:10)
value <- c (501:510)
df <- data.frame (ID, value)

我必须在下一个上限(图层)之间对数据进行分组

> Layers <- c (2, 4, 7, 8, 10)

我需要的结果是来自ID&gt;的值的cumsum。层[-1]&amp; ID&lt; = layer:

Layers  sum of value
2       1003            
4       1007
7       1518
8       508
10      1019

例如:图层rownumber r = 5(10) 1019 ,因为layer [r-1] = 8layer [r] = 10,然后sum (df[ID > 8 & ID <= 10,value]) = 509 + 510 = 1019

问候

1 个答案:

答案 0 :(得分:1)

我做了以下测试:

a<-c(1:10)
b<-c(501:510)
c<-data.frame(a,b)
group<- c(2,4,7,8,10)
print("Layer     sum a+b")
for(id in group)
{
 print(paste(id,"  sum(",c[id-1,2],"+",c[id,2],")",c[id-1,2]+c[id,2],ser=""))
}