【发布时间】:2020-02-20 09:12:25
【问题描述】:
我想使用 R 提取仅印度一个国家的最低和最高温度的世界气候数据,并将其保存为数据集(与我自己的包含地区级作物产量的数据集一起使用)。 我浏览了几篇文章,可以看到这可以在 R 中轻松完成,但是我尝试关注的文章在命令或序列方面有点不同,我感到困惑。 (https://gis.stackexchange.com/questions/259478/worldclim-data-na-for-my-coordinates, https://gis.stackexchange.com/questions/227585/using-r-to-extract-data-from-worldclim
我尝试使用的如下。
library(raster)
library(sp)
r<- getData('CMIP5', var='tmin', res=10, rcp=45, model='HE', year=70)
r <- r[[c(1,12)]]
values <- extract(r,points)
df <- cbind.data.frame(coordinates(points),values)
head(df)
但是,我只能运行前两行和行值
<- extract(r,points) gives the error Error in (function (classes, fdef, mtable) :
unable to find an inherited method for function ‘extract’ for signature ‘"RasterStack", "function"’
有什么建议吗?
【问题讨论】:
-
您的
points对象在哪里?请在问题中提供。 -
感谢您的回答。我不确定我应该在 points 对象中放置什么。以上几行是我执行的唯一代码行。我做错了什么?
-
您应该有一个包含纬度和经度的两列文件,您要从中提取生物气候变量。
-
再次感谢您的回答。我有一个包含印度所有地区的 GIS 数据的文件。纬度应该是所有印度地区的边界还是这些地区的质心?
-
GIS 数据是指 shapefile 吗?如果您有 shapefile,那么您可以通过两种方式提取数据:1. 使用区域的质心和 2. 使用区域统计数据,即区域下整个区域的平均值。
标签: r extraction