R根据属性删除重复的空间点

时间:2015-01-08 07:35:03

标签: r rgdal sp

在R中我有一个SpatialPointsDataFrame whit复制点(坐标和属性),我想用相同的数据删除所有点......

我在sp包中找到了remove.duplicates()函数,但它似乎只在某个位置删除了......还有其他方法吗?

谢谢

电子。

1 个答案:

答案 0 :(得分:7)

这样的事情会起作用吗?

library(sp)
pts <- SpatialPoints(cbind(c(1, 1, 1, 2, 3, 4), c(1, 1, 1, 4, 2, 4)))
pts <- SpatialPointsDataFrame(pts, data=data.frame(id = c(1, 2, 2, 3, 4, 5)))

## All points
pts

## No spatial duplicates
remove.duplicates(pts)

## No duplicates in attributes
pts[which(!duplicated(pts$id)), ]

## Combination
pts[which(!duplicated(as.data.frame(pts))), ]