gpt4 book ai didi

r - 通过子集获取空的 SpatialPolygonsDataFrame?

转载 作者:行者123 更新时间:2023-12-04 11:56:13 24 4
gpt4 key购买 nike

我希望通过属性对 SpatialPolygonsDataFrame 进行子集化,但我希望允许它返回一个空的 SpatialPolygonsDataFrame。

如果我们将 SpatialPolygonsDataFrame 类型的对象像 data.frames 一样处理,如讨论 here ,我们应该能够获取和处理空对象。

我很感兴趣,因为我想将它合并到一个函数中,该函数可能会尝试通过本质上不选择任何特征的属性进行子集化。

owd <- getwd() 
setwd(system.file("shapes", package = "maptools"))
library(maptools)
nc90 <- readShapeSpatial("co37_d90")
setwd(owd)

nc90@data[nc90@data$AREA>0.15,] # returns data.frame
bigctys <- nc90[nc90@data$AREA>0.15,] # SpatialPolygonsDataFrame
nc90@data[nc90@data$AREA>0.25,] # returns empty data.frame
bigestctys <- nc90[nc90@data$AREA>0.25,] # ERROR

有没有办法使这项工作?如果没有,有没有办法初始化一个空的 SpatialPolygonsDataFrame 对象?我想在这样一个对象上执行的 future 操作涉及在现有 map 上过度绘制,所以我希望无论如何都能生成图像,即使是空白的。

最佳答案

现在你不能。这有点不一致,至于 SpatialPointsDataFrame您可以:

library(sp)
demo(meuse, ask = FALSE)
x = meuse[F,]

虽然有警告;还有, validObject(x)返回 FALSE ,所以它们是不允许的!

这些对象应该代表什么有点抽象,但我可以看到与 data.frame 的类比。零行的对象:它们可以存在是有用的。

关于r - 通过子集获取空的 SpatialPolygonsDataFrame?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28527663/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com