【问题标题】:Remove NAs from spatial dataframe从空间数据框中删除 NA
【发布时间】:2018-09-04 22:35:40
【问题描述】:

我想从“SpatialPolygonsDataFrame”中删除 NA。传统的 df 方法和子集(上面提到)在这里不起作用,因为它是 df 的不同类型。我试图像传统 df 一样删除 NA,但失败了。第一个答案也适用于传统的df,但不适用于空间。 我在下面结合了 csv 和一个 shape 文件

countries <- readOGR(".","ne_50m_admin_0_countries")

我收到

class(data_pg_df)
[1] "SpatialPolygonsDataFrame"
attr(,"package")
[1] "sp"

当我尝试创建简单的传单地图时,NA 会产生问题。

[1] NA     NA     NA     NA     NA     NA     NA     NA     NA     NA     NA     NA    
[13] NA     NA     NA     NA     NA     NA     NA     NA     NA     "SSA"  "SSA"  NA    
[25] NA     NA     NA     NA     NA     NA     NA     NA     NA     NA     NA     NA 

我尝试使用 sp.na.omit() 删除 NA,但收到错误

Error in sp.na.omit(data_pg_df) : could not find function "sp.na.omit"

形状也不起作用。 我的目标是删除 NA 并拥有一个带有多边形的干净地图

谢谢!

【问题讨论】:

标签: r leaflet


【解决方案1】:

您是否加载了“spatialEco”库? 加载库后,试试这个

df <- sp.na.omit(data_pg_df, margin = 1)

【讨论】:

  • > data_pg_df %>% drop_na() UseMethod("drop_na_") 中的错误:没有适用于 'drop_na_' 的方法应用于类“c('SpatialPolygonsDataFrame', 'SpatialPolygons', ' Spatial', 'SpatialVector', 'SpatialPolygonsNULL')" > data_pg_df
  • 好吧,以前从来没有使用过空间数据,我做了一些搜索,然后编辑了我的答案,检查一下
  • Rendy,在你的帮助下我得到了一部分。但边距应该是 1,而不是 2,我需要从行中删除 NA。另外,我收到了太多的删除,现在我的地图看起来和图 2 完全一样,但是所有彩色的国家多边形都消失了。
  • 好的,很好。我不知道数据框。所以,我假设边距是 2。
猜你喜欢
  • 2022-09-22
  • 1970-01-01
  • 1970-01-01
  • 2019-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-01
相关资源
最近更新 更多