-1
我有一个如下所示的包含两个循环的代码。该代码读取每月流量数据并将其作为多重复制。循环太慢了。我想知道是否有其他方法使其更快?R如何使循环更快
library(xlsx)
library(data.table)
a <- read.xlsx("streamflow.xlsx",sheetName = "Sheet1", header = TRUE)
b=matrix(nrow=129792,ncol=17)
b= data.frame(b)
i=0
for (j in -11:1236)
{
for (k in 1:104)
{
i=i+1
j=j+12
j[j > 1248] <-j-1248
b[i,] <-a[j,]
}
}
感谢
我只能看到2个循环。什么是'data.table'在做什么? – SymbolixAU
你可以输入(head(b))',这样我们就可以看到数据以及循环中发生了什么?有可能是一种矢量化方法 – csgroen
另外,'dput(head(a))'。帮助我们通过给出[可重现的示例]来帮助你(https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example#5963610) – csgroen