【发布时间】:2020-10-25 22:53:22
【问题描述】:
我正在处理一个包含经度和纬度坐标的大型数据框,每个坐标都位于不同的列中。只有当它具有相同的经度和纬度时,我才想删除每个重复的行。这能解决问题吗?
distinct(dat, dat$longitude, dat$latitude, .keep_all = TRUE)
这似乎可行,但我不确定我是要删除仅匹配经度和不同纬度的行还是相反。
【问题讨论】:
-
你可以做
distinct(dat, longitue, latitude, .keep_all = TRUE) -
根据 akrun 的建议,只要您在
dplyr(和其他 tidyverse 包)函数中工作,通常不应引用 frame 变量本身。这意味着在您的distinct(dat, dat$longitude)中,删除对dat$的所有引用,这样您就会得到akrun 的建议。虽然在此示例中没有该更改也可以正常工作,但如果您执行任何更改前面dplyr动词中数据的顺序、值或大小的操作(例如,filter、group_by、mutate),那么您要使用的数据与dat$...提供给您的数据不同。
标签: r dataframe dplyr tidyverse data-cleaning