Return R 中 sf 对象的完整案例
Return complete cases of sf object in R
对于 sf
个对象,df <- df[complete.cases(df), ]
的等价物是什么?
我知道 sf
对象的行为主要类似于具有 "sticky" geometry
列的数据帧,但是 运行 上面的代码 returns 出现以下错误:
df <- df[complete.cases(df), ]
Error in complete.cases(df) : invalid 'type' (list) of argument
这可能是由于 sf
对象将其 geometry
变量存储为列表。感谢您的意见!
我没有缺少几何图形的数据集来测试它,但可能是这样的:
lapply(sfd$geometry, function(x) any(is.na(x)))
将检查几何中是否有任何 NA 元素。您可以使用生成的向量为您的数据框编制索引并删除缺失的条目。
您可以使用 sf::st_is_empty()
检查空几何图形
library(sf)
pt1 <- sf::st_sfc(sf::st_point())
pt2 <- sf::st_sfc(sf::st_point(c(0,0)))
sf <- sf::st_sf(geometry = c(pt1, pt2))
sf[!sf::st_is_empty(sf), ]
# imple feature collection with 1 feature and 0 fields
# geometry type: POINT
# dimension: XY
# bbox: xmin: 0 ymin: 0 xmax: 0 ymax: 0
# epsg (SRID): NA
# proj4string: NA
# geometry
# 1 POINT (0 0)
对于 sf
个对象,df <- df[complete.cases(df), ]
的等价物是什么?
我知道 sf
对象的行为主要类似于具有 "sticky" geometry
列的数据帧,但是 运行 上面的代码 returns 出现以下错误:
df <- df[complete.cases(df), ]
Error in complete.cases(df) : invalid 'type' (list) of argument
这可能是由于 sf
对象将其 geometry
变量存储为列表。感谢您的意见!
我没有缺少几何图形的数据集来测试它,但可能是这样的:
lapply(sfd$geometry, function(x) any(is.na(x)))
将检查几何中是否有任何 NA 元素。您可以使用生成的向量为您的数据框编制索引并删除缺失的条目。
您可以使用 sf::st_is_empty()
检查空几何图形
library(sf)
pt1 <- sf::st_sfc(sf::st_point())
pt2 <- sf::st_sfc(sf::st_point(c(0,0)))
sf <- sf::st_sf(geometry = c(pt1, pt2))
sf[!sf::st_is_empty(sf), ]
# imple feature collection with 1 feature and 0 fields
# geometry type: POINT
# dimension: XY
# bbox: xmin: 0 ymin: 0 xmax: 0 ymax: 0
# epsg (SRID): NA
# proj4string: NA
# geometry
# 1 POINT (0 0)