Как удалить только дубликаты, которые удовлетворяют другому условию в R? - PullRequest
0 голосов
/ 23 апреля 2019

Я хочу очистить этот набор данных. Пример таблицы

Содержит много дубликатов. Я хочу удалить только дубликаты из столбца UUID, которые имеют самое высокое значение в столбце Shape_Area. Должен быть создан цикл, который обнаруживает дубликаты и сравнивает значения из столбца Area в найденных дубликатах.

Я пробовал функцию duplicate, но не могу поверить, что выбранное значение является наибольшим значением из столбца Area.

Я хочу таблицу вывода, которая включает уникальные значения, которые имеют наибольшее значение в столбце Площадь. Кто-нибудь может помочь в этом?

1 Ответ

0 голосов
/ 23 апреля 2019

вы можете использовать пакет dplyr, как этот

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

Для каждого значения UUID этот код создает группу, а затем упорядочивает каждую группу по Shape_Area. Затем выбирается только первая строка (например, наибольшее значение).

Если вы хотите сохранить эти данные, используйте:

write.csv(newdata, file = "Output.csv")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...