-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