代码之家  ›  专栏  ›  技术社区  ›  Hydro

使用for循环填充r中预定义的空矩阵?

  •  0
  • Hydro  · 技术社区  · 5 年前

    我正在使用一个函数从组织服务器获取数据,然后需要将这些数据存储在一个空的 data.frame 通过 for loop

    tss <- as.data.frame(matrix(NA, 92,131))
    

    函数本身起作用。for循环也适用于前14个站,但随后它会抛出以下错误

    > Error in `[<-.data.frame`(`*tmp*`, , i + 1, value = c(0, 0, 0, 0, 0,
    > 0,  :    replacement has 90 rows, data has 92
    

    for (i in 1:nlines) {
          tss1 <- fromAquarius(id[i],Data[i],Stage[i])
      tss[,i+1]<-tss1$Daily_sum
      rm(tss1)
        }
    

    有没有一种方法可以让代码运行并用可用的数据填充矩阵,并且在前进的过程中,如果没有数据,则将单元格保留为NA?可能还有另一种方法来处理这个错误。

    1 回复  |  直到 5 年前
        1
  •  0
  •   Ronak Shah    5 年前

    fromAquarius NA .

    for (i in 1:nlines) {
       tss1 <- fromAquarius(id[i],Data[i],Stage[i])
       tss[,i+1]<-tss1$Daily_sum[1:92]
    }