r - 如何根据 R 中的属性删除 SpatialPolygonsDataFrame 的特定特征?
问题描述
由于在已经回答的已经存在的问题下提出问题是不受欢迎的,这里我的问题链接到这个问题的 URL:Simple way to subset SpatialPolygonsDataFrame (ie delete polygons) by attribute in R where you can get the dataset。
有谁知道如何根据值向量从 SpatialPolygonsDataFrame 中删除多个特征?
head(world.map@data)
# FIPS ISO2 ISO3 UN NAME AREA POP2005 REGION SUBREGION LON LAT
# 0 AC AG ATG 28 Antigua and Barbuda 44 83039 19 29 -61.783 17.078
# 1 AG DZ DZA 12 Algeria 238174 32854159 2 15 2.632 28.163
# 2 AJ AZ AZE 31 Azerbaijan 8260 8352021 142 145 47.395 40.430
# 3 AL AL ALB 8 Albania 2740 3153731 150 39 20.068 41.143
# 4 AM AM ARM 51 Armenia 2820 3017661 142 145 44.563 40.534
# 5 AO AO AGO 24 Angola 124670 16095214 2 17 17.544 -12.296
我想删除名称为“芬兰”、“挪威”、“瑞典”、“丹麦”的特征(无意冒犯,我只是没有斯堪的纳维亚半岛的数据;))。
以下方法失败:
world.map <- world.map[world.map@data$NAME != c('Finland', 'Norway', 'Sweden', 'Denmark'), ]
# does not work at all
world.map <- dplyr::filter(world.map@data, NAMEN %in% c('Finland', 'Norway', 'Sweden', 'Denmark'))
# results in a dataframe, spatial information is lost
我猜想有一种方法使用base::which()
and%in%
,但我不知道如何继续。@Jeffrey Evans 在这篇文章中的答案参见 URL:https ://gis.stackexchange.com/questions/57844/subset-a-spatialpolygonsdataframe-by-id-in-r可以提供有用的提示...
解决方案
推荐阅读
- django - Django - 更新的数据未保存到数据库
- javascript - WebSocket 进程不断停止
- laravel - laravel 中管理员创建的登录用户
- asp.net-core - 如何使用 Web Api Asp.Net Core 实现基于声明的授权?
- python - 访问列表中的条目
- ios - Codename One(或 ParparVM)如何将 Java 库编译成 iOS 库
- python - Python:当一个类在另一个类中使用时,是否可以覆盖/扩展一个类的实例方法?
- ruby-on-rails - 加密的出生日期未保存在 sinatra/rails 的数据库中
- r - Groupby 并选择最后 10 条记录并变异为 R 中的条件
- python - 使用 ipyvolume 在 jupyter 中绘制 2D 网格