如何解决从SpatialPolygonsDataFrame创建镶嵌吗?
此处的新手R程序员...正在寻找有关在SpatialpolygonsDataFrame中的多边形之外构建测试的指导。
我正在对州边界内的点调用quadracount。我想使用自定义多边形来定义四边形,而不是使用默认的网格。具体来说,就是我用shapefile格式创建的县多边形。
我从文档中认为可以从“ owin”对象列表中创建所需的镶嵌。我遇到麻烦的地方是使用SpatialpolygonsDataFrame生成该列表。
我确认可以正确读取多边形:
counties <- readOGR('/path/to/counties.shp',layer = "CountyBoundaries",GDAL1_integer64_policy = FALSE)
for(i in 1:nrow(counties)) {
plot(counties[i,])
}
这将生成一系列地块,每个县一个。当然,这仅对知道我的数据没有损坏并且可以遍历多边形有用。我需要做的是从SpatialpolygonsDataFrame中的每个多边形中提取一个owin,并将其附加到tess(tiles=myList)
的myList中。在这种方法上没有太大的成功。
我强烈怀疑有一种更简单的方法...
非常感谢,
-gt
解决方法
结果是,我的问题是无法完全理解R中如何对列表进行索引。以下代码给了我想要的结果。
毫无疑问,有更好的矢量化方法可以做到这一点。但与此同时:
# The point events are in a PPP: StateCrimes_ppp
counties <- readOGR('/path/to/counties.shp',layer = "CountyBoundaries",GDAL1_integer64_policy = FALSE)
tlist <- list()
for(i in 1:nrow(counties)) {
tlist[[i]] <- as(counties[i,],'owin')
}
QuadCount <- quadratcount(
StateCrimes_ppp,tess=tess(tiles=tlist)
)
plot(QuadCount,main=NULL)
plot(intensity(QuadCount,image=TRUE),main=NULL,las=1)
如果有人看到我为解决一个简单的问题而花了很长时间的艰苦努力,那么我很想知道一种更好,更简单,更优雅或更像R的方式来实现这一目标。
再次感谢
-gt
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。