所以我試圖循環一個包含30個netcdf文件的文件夾,從多個圖層中拉出一個變量,處理它,並且將這個循環的每次迭代都綁定到一個對象上。我正在處理每日數據,我希望每列代表所述變量的1天。我似乎很接近,但無法完成。 這裏是我的循環:循環瀏覽netcdf文件並將每次迭代循環到一個對象
files <- list.files(path="../07 epic month 1", pattern="*.nc", full.names=T, recursive=FALSE)
mydata <- data.frame()
# Loop over files
for(i in seq_along(files)) {
nc = open.ncdf(files[i])
i = get.var.ncdf(nc,'NO3')
i <- i[ , ,c(9:16, 31:36) ]
i <- as.vector(i)
i = data.frame(i)
i[is.na(i)] <- "0"
i[ , ] <- sapply(i[ , ], as.numeric)
i <- as.matrix(i)
i <- split(i ,1:137241)
i <- data.frame(i)
i <- as.matrix(i)
i <- t(i)
i <- rowSums(i)
i <- data.frame(i)
mydata[[i]]
}
但是當我運行的循環我得到這個錯誤:
Error in .subset2(x, i, exact = exact) : invalid subscript type 'list'
將'browser()'放在代碼中的某個地方,並在代碼執行期間檢查變量的狀態 –