世界地图:按“子区域”过滤可删除许多区域

时间:2019-05-12 14:34:17

标签: r ggplot2

请参阅下文-我不了解此行为。我可以通过region成功过滤,但不能通过subregion进行过滤。在有和没有加强对象WorldData1的情况下都会发生这种情况。它也这样保存到文件中。有任何想法吗?

library(tidyverse)
WorldData1 <- map_data('world') %>% filter(subregion != '') 

# I am using no characters as filter, but this also happens when putting in a subregion, e.g. 'Alaska'

#> 
#> Attaching package: 'maps'
#> The following object is masked from 'package:purrr':
#> 
#>     map
ggplot() +
  geom_map(data = WorldData1, map = WorldData1,
           aes(x = long, y = lat, map_id = region)) 
#> Warning: Ignoring unknown aesthetics: x, y

reprex package(v0.2.1)于2019-05-12创建

devtools::session_info()
#> ─ Session info ──────────────────────────────────────────────────────────
#>  setting  value                       
#>  version  R version 3.5.3 (2019-03-11)
#>  os       macOS Mojave 10.14.3        
#>  system   x86_64, darwin15.6.0        
#>  ui       X11                         

#>  tidyverse   * 1.2.1   2017-11-14 [1] CRAN (R 3.5.0)

1 个答案:

答案 0 :(得分:2)

我找到了解决方案-我觉得值得保留这个问题,因为它指出了filtersee related thread here)的有趣行为

按子区域筛选将删除子区域中的所有NA,并删除创建国家/地区多边形所需的行。在filter命令中明确包含NA有助于:

library(tidyverse)
WorldData1 <- map_data('world') %>% filter(is.na(subregion)| subregion != 'Alaska') 

ggplot() +
  geom_map(data = WorldData1, map = WorldData1,
           aes(x = long, y = lat, map_id = region))
#> Warning: Ignoring unknown aesthetics: x, y

reprex package(v0.2.1)于2019-05-12创建