R中的嵌套循环未给出预期输出

时间:2017-05-04 13:17:01

标签: r nested-loops

我想使用下面的嵌套循环来计算多年内每天的变量“数据”。 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)
}

0 个答案:

没有答案