r - 使用magic_for函数在R中嵌套for循环
问题描述
我正在使用的数据集列表:- 1. 气候数据的 .nc 文件 2. 用于从 .nc 文件中检索数据的经纬度城市列表 (53) 3. 工作代码:- 我已成功检索数据53 个城市通过使用 magic_for 循环。所以目前我能够保存 .nc 文件的路径,并通过使用 magic_for 函数检索变量的每日值,例如 tasmin、tasmax、pr 和 tas。这些文件中的每一个都有从 2006 年到 2100 年期间的单个变量的数据。4. 问题:- 现在对于我有 19 个 .nc 文件(每个 5 年)的模型,与之前的 1 个文件(95 年)不同。因此,我想使用上面提到的工作程序运行十九次。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()
错误 - (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :arguments 暗示不同的行数:53, 19 替代方案:即使我可以创建 19 个数据帧和将它们绑定在一起我的问题将得到解决。
解决方案
推荐阅读
- php - 当 PHP “声明”一堆 HTML / PHP 标签时,这意味着什么?
- android - 自定义 View 有没有办法检测其 Activity 何时暂停或停止?
- asp.net-core - ASP.NET Core 2.2 主布局模型问题
- python - 加入列表中的许多数据在数组中不起作用 python
- html - 粘性导航显示在叠加层上方
- powershell - 在 Excel 公式中包含正斜杠
- android - 谷歌智能锁在一个应用程序中显示我所有的手机账户,而不是以前使用的那些
- python - pip install PDAL 失败,缺少 pdal-config
- windows - 从跳转返回主
- python - 如何加入两个数据框并保留每个数据框的某些列?