【发布时间】:2020-02-21 10:13:49
【问题描述】:
我有一个关于在 R 中提取 WorldClim 数据的问题并得到了很好的帮助 (Extract WORLDCLIM data using R for a single country)
该解决方案运行良好,但我现在面临一个单独的问题。
我执行以下代码以 .cvs 格式提取并保存 WorldClim 月度最低温度数据
library(sp)
library(rgeos)
library(rgdal)
r<- getData('CMIP5', var='tmin', res=10, rcp=45, model='HE', year=70)
r <- r[[c(1,12)]]
poly <- shapefile("C:/Users/pc5/Desktop/r1//2011_Dist.shp")
plot(poly)
pr <- extract(r, poly, fun='mean', na.rm=TRUE, df=TRUE, weights = TRUE)
write.csv(cbind(poly$DISTRICT,ex),"Worldclim.csv", row.names = F)
但是,当我提取并保存数据时,我只得到三个变量:DISTRICT 名称、第 1 个月的 TMIN 和第 12 个月的 TMIN。 我在运行代码时看到了这一点
ex <- extract(r, poly, fun='mean', na.rm=TRUE, df=TRUE, weights = TRUE)
它只提取 3 个变量而不是 13(12 个月 + I 区名称),尽管我可以看到所有 12 个月的数据都以 Geotiff 格式下载到默认文件夹中。我做错了什么?
【问题讨论】:
-
您使用
na.rm=TRUE,因此如果缺少数据,它们将被跳过,请尝试不使用此选项,看看您是否在几个月内获得no data,这意味着不幸的是您的数据几个月不存在(但至少解释一下为什么你什么都得不到) -
感谢您的回答。我试过了,但得到了同样的结果。我在上面的帖子中没有提到我第一次运行上面的代码时能够以 .cvs 格式保存整个数据。但是我第二次尝试时遇到了上述问题。
-
如果省略这一行会发生什么:
r <- r[[c(1,12)]]?