我有一个包含多个不同位置的多边形数据集,它们共享相同的属性。对于每组唯一属性(在下面的示例中是
然而,当几何形状不同时,它会返回Zone1和Area27的两个结果。 这是预期行为还是我做错了什么?
我的要求输出中只有两行,一行为Zone1和Area27,另一行为Zone2和Area42,并保留这些行的几何形状,即类似于在普通tibble上运行相同代码时发生的情况。
Area
和 Zone
),我只想要一个多边形,而不关心它们所在的位置,因此我想忽略几何属性。library(sf)
library(dplyr)
Areas <- st_as_sf(tibble(
Area =c("Zone1", "Zone1","Zone2","Zone1"),
Zone =c("Area27","Area27","Area42","Area27"),
lng = c(20.1, 20.2, 20.1, 20.1),
lat = c(-1.1, -1.2, -1.1, -1.1)),
coords = c("lng", "lat")) %>% st_buffer(.,100)
我正在使用dplyr的distinct函数来去除重复记录,但是我发现它在确定不同的记录时正在使用几何列,尽管我认为它应该忽略几何列:
Areas %>% distinct(across(-geometry),.keep_all=TRUE)
然而,当几何形状不同时,它会返回Zone1和Area27的两个结果。 这是预期行为还是我做错了什么?
我的要求输出中只有两行,一行为Zone1和Area27,另一行为Zone2和Area42,并保留这些行的几何形状,即类似于在普通tibble上运行相同代码时发生的情况。
Table <- tibble(
Area =c("Zone1", "Zone1","Zone2","Zone1"),
Zone =c("Area27","Area27","Area42","Area27"),
lng = c(20.1, 20.2, 20.1, 20.1),
lat = c(-1.1, -1.2, -1.1, -1.1))
Table %>% distinct(across(c(-lng,-lat)),.keep_all=TRUE)