我想使用下面的嵌套循环来计算多年内每天的变量“数据”。 x是长度为20(年数)的向量,20个条目中的每一个都是内循环运行的天数。 我还有一个矢量'start',它有20个日期,格式为“1981-02-01”。
我想创建一个输出矩阵(数据),该矩阵将包含每天的行数据,然后是每年一列。 我在下面使用的代码似乎并没有更新计数器(yrcntr和daycntr),这导致整个事情不起作用。
另外,当我尝试使用计数器作为索引(数据[daycntr yrcntr])为循环内的'data'赋值时,它不起作用。
我甚至没有收到错误。
我不确定如何写出下面使用的'数据'格式,但我会试一试:
datamat=
tmax tmin date
11 4 "1981-03-31"
13 6 "1981-04-01"
12 7 "1981-04-02"
和'start'是日期的向量格式:`“1981-04-02”“1981-04-03”
tmax<-datamat[,1]
tmin<-datamat[,2]
tdates<-datamat[,3]
yrcntr<-0;
daycntr<-0;
for (yr in 1:length(x)){
yrcntr<-yrcntr+1
#find the row in the temp data that matches the startdate each year
tempidx<- (which(tdates==start[yrcntr]))-1
for (days in 1:numdays[yr]){
daycntr<-daycntr+1
dlytempidx=tempidx+1
data[daycntr yrcntr]<- (tmax[dlytempidx]+tmin[dlytempidx])
}
rm(tempidx)
}