这是我在这里的第一篇文章。我有一个很大的数据集,我试图根据指定变量之一(ERRaw)的值删除重复的行。当我使用以下代码时,所得数据集将排除原始情况中没有重复项的某些情况-不明白原因。我需要保留所有单例情况,只删除重复项。请帮忙!
new_data <- data_with_dups %>%
group_by(StudentID, District) %>%
distinct(StudentID, ERRaw, .keep_all = T) %>%
top_n(1, ERRaw)
谢谢!
答案 0 :(得分:0)
我认为这些方法都应该起作用。如果您提供可复制/可粘贴的示例数据,我将进行测试并确保。
# group_by and top_n
new_data <- data_with_dups %>%
group_by(StudentID, District) %>%
arrange(desc(ERRaw)) %>%
top_n(1)
# base R sort, !duplicated
new_data = data_with_dups[order(data_with_dups$ERRaw, decreasing = TRUE), ]
new_data = new_data[!duplicated(new_data[c("StudentID", "District")]), ]