如何仅删除满足R中另一个条件的重复项?

时间:2019-04-23 10:17:10

标签: r dataframe dplyr duplicates

我要清理此数据集。示例表

它包含许多重复项。我只想从UUID列中删除在Shape_Area列中具有最高值的重复项。必须创建一个循环,以检测重复项并比较找到的重复项中“区域”列中的值。

我已经尝试过duplicate函数,但是我不敢相信所选值是Area列中的最大值。

我想要一个Output表,其中包含在Area列中具有最大值的唯一值。 有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

您可以像这样使用dplyr

library(dplyr)
newdata <- mydata %>% 
    group_by(UUID) %>% 
    arrange(-Shape_Area) %>% 
    slice(1)

此代码为UUID的每个值创建一个组,然后相对于Shape_Area排列每个组。然后仅选择第一行(例如最大值)。

如果要保存此数据,请使用以下方法:

write.csv(newdata, file = "Output.csv")