#r #dataframe #dplyr #duplicates
#r #фрейм данных #dplyr #дубликаты
Вопрос:
Я хочу очистить этот набор данных.Таблица примеров
Он содержит много дубликатов. Я хочу удалить только дубликаты из UUID
столбца, которые имеют наибольшее значение в столбце Shape_Area. Необходимо создать цикл, который обнаруживает дубликаты и сравнивает значения из области столбца в пределах найденных дубликатов.
Я пробовал duplicate
функцию, но я не могу быть уверен, что выбранное значение является наибольшим значением из области столбца.
Я хочу, чтобы выходная таблица включала уникальные значения, которые имеют наибольшее значение в области столбца. Кто-нибудь может помочь в этом?
Комментарии:
1. Добро пожаловать в SO! Пожалуйста, не публикуйте изображения; скорее скопируйте / вставьте вашу таблицу в вопрос, чтобы каждый мог использовать ваши данные.
Ответ №1:
вы можете использовать dplyr
пакет следующим образом
library(dplyr)
newdata <- mydata %>%
group_by(UUID) %>%
arrange(-Shape_Area) %>%
slice(1)
Для каждого значения UUID
этот код создает группу, а затем упорядочивает каждую группу по отношению к Shape_Area
. Тогда выбирается только первая строка (например, наибольшее значение).
Если вы хотите сохранить эти данные, используйте это:
write.csv(newdata, file = "Output.csv")
Комментарии:
1. Большое вам спасибо за ваш быстрый ответ! Я думаю, что это работает, но для уверенности мне нужно экспортировать набор данных. Похоже, этот код не работает: write.csv(Данные, файл = «Output.csv»). Он выдает исходный набор данных, который я импортировал. Как я могу определить команду, чтобы R знал, что нужно экспортировать результат из команды выше? (Я очень новичок в R, так что это может быть очевидным требованием ..)
2. Я отредактировал свой ответ, чтобы показать, как сохранить это в csv. Пожалуйста, рассмотрите возможность принятия ответа и проголосуйте за него.