Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 用于环路输出的组合_R_For Loop_Dataframe_Netcdf_Cbind - Fatal编程技术网

R 用于环路输出的组合

R 用于环路输出的组合,r,for-loop,dataframe,netcdf,cbind,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_ge

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

到目前为止,我掌握的代码是

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]))
}
库(ncdf4)

测试您的
h
尚未使用;换句话说,没有用。您可能希望在
n
的每个步骤中,将变量
emble
添加到
lonlat
数据中。所以你的代码应该是
lonlat,我想你那里的函数不是R的基本函数。你能告诉我们它们来自哪个包吗?我正在使用包ncdf4c处理netCDF4文件。你还可以创建一个测试示例吗?我无法重新创建您的问题,因为我无法访问该.nc文件。此解决方案运行良好。我想知道你是否可以进一步说明h是无用的。我是一个新的r用户,我不完全了解r@Dylan中对象的一些动态。每次执行
for loop
时,它都是“重新分配”对象
h
。因此,它是在“写”自己,因此您只剩下最后一个输出
n=60