<分区>
我得到的数据有点像这样(当然还有更多行):
Age Work Zone SomeNumber
26 1 2.61
32 4 8.42
41 2 9.71
45 2 4.14
64 3 6.04
56 1 5.28
37 4 7.93
我想获得每个年龄段或以下年龄段的最大 SomeNumber。 SomeNumber 随着年龄的增长而增加,所以我预计 32 岁以下的 2 区中最高的 SomeNumber 是 31 岁的人,但实际上可能是 27 岁的人。
为此,我编写了一个嵌套的 for 循环:
for(i in zonelist){
temp = data[data$zone==i,]
for(j in 1:max(data$age)){
temp.lessequal=c(temp.lessequal,max((temp[temp$Age<=j,])$SomeNumber))
}
#plot temp.lessequal or save it at this point
}
这当然非常慢。我怎样才能更快地做到这一点?我看过一次按两列排序的排序函数,但这并不能让我取每组的最大值。