我有下一个数据
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] = 8
和layer [r] = 10
,然后sum (df[ID > 8 & ID <= 10,value]) = 509 + 510 = 1019
问候
答案 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=""))
}