删除数据框中组的最后一个条目

Sam*_*tha 2 r dataframe

我希望通过删除具有相同元素的所有组的最后一个条目来清理我的数据。

我的数据看起来有点像这样:

  type  2   3  
 1 A    2.3 4  
 2 A    3.4 5  
 3 B    5.5 6  
 4 B    6   7 
 5 B    3   7 
 6 C    5   6  
 ....
Run Code Online (Sandbox Code Playgroud)

IE。我试图摆脱每个具有相同类型的组的最后一个条目,所以它看起来像这样。

  type  2   3  
 1 A    2.3 4  
 2 B    5.5 6 
 3 B    6   7 
 4 C    5   6
Run Code Online (Sandbox Code Playgroud)

我的实际数据对每种类型都有不同的长度,通常超过数百。我想到了 group_by 然后last()但它似乎只适用于summarize. 任何的想法?

李哲源*_*李哲源 5

dat成为您的数据框,您可以使用

dat[duplicated(dat$type, fromLast = TRUE), ]
Run Code Online (Sandbox Code Playgroud)

哪里duplicated(, fromLast = TRUE)会向后找到重复项。


例子

set.seed(0)
dat <- data.frame(type = sort(sample(LETTERS[1:4], 12, TRUE)), x = 1:12)

#   type  x
#1     A  1
#2     A  2
#3     A  3
#4     B  4
#5     B  5
#6     C  6
#7     C  7
#8     C  8
#9     D  9
#10    D 10
#11    D 11
#12    D 12

dat[duplicated(dat$type, fromLast = TRUE), ]

#   type  x
#1     A  1
#2     A  2
#4     B  4
#6     C  6
#7     C  7
#9     D  9
#10    D 10
#11    D 11
Run Code Online (Sandbox Code Playgroud)