我想编写一个循环,从三维数组中提取表,然后将其作为列依次写入数据框。
到目前为止我的代码是
library(ncdf4)
test <- nc_open("NorESM_TREFHT_cont_mem1-60_2006-2099.nc")
temp <- ncvar_get(test, "TREFHT", count = c(144,96,60,1))
drop(temp)
lat<- ncvar_get(test, "lat")
lon <- ncvar_get(test,"lon")
lonlat <- expand.grid(lon, lat)
for (n in 1:60) {
member <- array(temp[1:144,1:96,n])
ensemble <- as.vector(member)
h <- data.frame(cbind(lonlat, ensemble[n]))
}
目前代码在没有循环的情况下工作(对于n = 1,2等) 但只能结合for循环输出中的最后一次运行n = 1:60
答案 0 :(得分:1)
您的h
尚未使用;换句话说没用。您可能希望将n
变量ensemble
的每个步骤添加到lonlat
数据中。所以你的代码应该是lonlat <- data.frame(cbind(lonlat, ensemble[n]))
。