所以我有我的光栅文件
r <- raster('ras')
和shapefile
abys <- readShapeSpatial('abys')
我通过以下方法计算了shapefile定义的平均值:
r.vals<- extract(r,abys)
r.mean <- lapply(r.vals,FUN=mean)
但是,当我返回输出时使用几个shapefile时,我会得到多个结果,例如:
[[1]]
[1] 9321
[[2]]
[1] 6616
[[3]]
[1] 8348
它应该只返回一个我通常得到的东西。这是因为我的shapefile的一些特征还是我的方法论的问题?
感谢您的输入
答案 0 :(得分:2)
您的问题是abys
中有三个多边形。
最好的解决方案不是平均结果,而是首先结合多边形:
library(rgeos)
abys.single <- gUnaryUnion(abys)
r.vals<- extract(r,abys.single)
r.mean <- lapply(r.vals,FUN=mean)