我正在使用的数据集列表:- 1.气候数据的.nc文件 2.具有纬度和经度的城市列表(53),用于从.nc文件中检索数据 3.工作代码: 我已经通过使用magic_for循环成功检索了53个城市的数据,因此目前可以保存.nc文件的路径并使用magic_for函数检索tasmin,tasmax,pr和tas等变量的每日值。这些文件中的每个文件都具有2006-2100年期间的单个变量数据。 4.问题: 现在,对于一个具有19个.nc文件(每个5年)的模型,与以前的1个文件(95年)不同。因此,我想使用上述工作程序运行19次。 5.验证码:- 工作:
tasfilepath<-paste0("path.nc")
model1<-nc_open(tasfilepath)
lonmodel1<-ncvar_get(model1, varid = 'lon')
latmodel1<-ncvar_get(model1, varid = 'lat')
timemodel1<-nc.get.time.series(model1, v="tasmin", time.dim.name = "time")
input<-read.xlsx(file = "cities_1.xlsx", sheetName = "Sheet1")
i<-length(col(input[1]))
magic_for(print1, silent = TRUE)
for (j in 1:i)
{
alat<-which.min(abs(latmodel1-input[j,2]))
alon<-which.min(abs(lonmodel1-input[j,3]))
temp<-nc.get.var.subset.by.axes(model1, "tasmin", axis.indices = list(X=alon, Y=alat))
print1(temp)
}
df0<-magic_result_as_dataframe()
不起作用:
input0<-read.xlsx(file = "sheet with path addresses of .nc files.xlsx")
i0<-length(col(input0[1]))
magic_for(print2, silent = TRUE)
for(k in 1:i0)
{
tasfilepath<-paste0(input0[k,2])
model1<-nc_open(tasfilepath)
lonmodel1<-ncvar_get(model1, varid = 'lon')
latmodel1<-ncvar_get(model1, varid = 'lat')
timemodel1<-nc.get.time.series(model1, v="tasmin", time.dim.name = "time")
input<-read.xlsx(file = "cities_1.xlsx", sheetName = "Sheet1")
i<-length(col(input[1]))
magic_for(print1, silent = TRUE)
for (j in 1:i)
{
alat<-which.min(abs(latmodel1-input[j,2]))
alon<-which.min(abs(lonmodel1-input[j,3]))
temp<-nc.get.var.subset.by.axes(model1, "tasmin", axis.indices = list(X=alon, Y=alat))
print1(temp)
}
df0<-magic_result_as_dataframe()
print2(df0)
}
df1<-magic_result_as_dataframe()
错误-错误(函数(...,row.names = NULL,check.rows = FALSE,check.names = TRUE,:参数表示行数不同:53,19 备择方案: 即使我可以创建19个数据帧并将它们绑定在一起,我的问题也将得到解决。 问候