合并for循环输出

Combining for loop output

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

我目前的代码是

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 等) 但仅结合 n=1:60

的 for 循环输出中的最后一个 运行

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