组合循环输出

时间:2016-07-12 09:28:45

标签: r for-loop dataframe netcdf cbind

我想编写一个循环,从三维数组中提取表,然后将其作为列依次写入数据框。

到目前为止我的代码是

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

1 个答案:

答案 0 :(得分:1)

您的h尚未使用;换句话说没用。您可能希望将n变量ensemble的每个步骤添加到lonlat数据中。所以你的代码应该是lonlat <- data.frame(cbind(lonlat, ensemble[n]))