首页 > 解决方案 > 删除重复行,同时保留底线

问题描述

我想删除 R 中的重复行,保留较低行的信息,即从此数据中:

example <- structure(list(var1 = c(1, 1, 2, 2, 3, 4, 5, 6, 6), var2 = c(0, 
0, 0, 0, 0, 0, 0, 0, 0), var3 = c(1, 0, 0, 0, 0, 1, 0, 0, 0), 
    var4 = c(1, 1, 1, 1, 0, 1, 1, 0, 0), var5 = c(1, 1, 1, 0, 
    0, 1, 1, 0, 0), Year = 2001:2009), row.names = c(NA, -9L), class = "data.frame")

我想删除将行保留在底部的重复项,以便我得到:

example1 <- structure(list(var1 = c(1, 2, 3, 4, 5, 6), var2 = c(0, 0, 0, 
0, 0, 0), var3 = c(0, 0, 0, 1, 0, 0), var4 = c(1, 1, 0, 1, 1, 
0), var5 = c(1, 0, 0, 1, 1, 0), Year = c(2002, 2004, 2005, 2006, 
2007, 2009)), row.names = c(NA, -6L), class = "data.frame") 

是否可以应用`dplyr包的duplicated功能或功能?distinct

我很感激任何帮助。谢谢。

标签: rdplyrduplicates

解决方案


使用 dplyr 工具的@ThomasIsCoding 响应运行良好。我发现了另一种可能性,似乎更快:

example1 <- example[!duplicated(example$var1, fromLast = T), ]

推荐阅读