从空间数据框中删除NA

时间:2018-09-04 22:35:41

标签: r leaflet

我想从“ SpatialPolygonsDataFrame”中删除NA。传统的df方法和子集(如上所述)在这里不起作用,因为它是df的另一种类型。我尝试删除与传统df相同的NA,但失败了。 firsta答案也适用于传统df,但不适用于空间。 我将csv和下面的形状文件组合在一起

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 

Map

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

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

形状也不起作用。 我的目标是删除NA,并创建一个包含多边形的干净地图

Map 2

谢谢!

1 个答案:

答案 0 :(得分:3)

您是否已加载'library(data.table) df <- structure(list(ID = structure(c(1L, 6L, 7L, 3L, 5L, 2L, 4L, 8L, 1L, 7L, 3L, 5L, 2L, 9L, 8L, 1L, 7L, 3L, 5L, 2L, 9L, 8L, 1L, 7L, 3L, 5L, 2L, 9L, 8L, 1L, 7L, 3L, 5L, 2L, 9L, 8L, 1L, 7L, 3L, 5L, 2L, 9L, 8L, 1L, 7L, 3L, 5L, 2L, 9L), .Label = c("E1", "E2", "E3", "E4", "E5", "E6", "E7", "E8", "E9"), class = "factor"), Item.Code = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 7L, 7L, 7L, 7L, 7L, 7L, 7L ), .Label = c("I60", "I67", "I68", "I69", "I70", "I71", "I72" ), class = "factor"), Quantity = c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 4L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), Stock_on_hand = c(1L, 0L, 2L, 6L, 2L, 2L, 2L, 0L, 6L, 3L, -1L, 1L, 2L, 9L, 1L, 5L, -1L, 9L, 3L, 38L, 5L, 10L, 2L, 3L, 2L, 2L, 1L, 8L, 0L, 2L, 2L, 4L, 2L, 1L, 5L, 1L, -1L, 4L, 3L, 1L, 2L, 11L, 1L, 2L, 0L, 3L, 1L, 4L, 1L), Transfer = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 4L, 0L, 0L, 0L, 0L, 0L, 0L, 3L, 0L, 7L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 6L, 0L, 0L, 0L, 0L, 0L, 0L, 3L, 0L, 0L, 2L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 2L, 0L, 0L)), class = "data.frame", row.names = c(NA, -49L)) '库? 加载库后,请尝试

spatialEco