firelife
我在网上查到下面的代码,只能把后面出现的重复数据显示出来,但我想要把重复的数据放在一起显示,有什么好的办法吗?
#查找重复行
#A sample data frame:
df <- read.table(header=T, text='
label value
A 4
B 3
C 6
B 3
B 1
A 2
A 4
A 4
')
# Is each row a repeat?
duplicated(df)
# FALSE FALSE FALSE TRUE FALSE FALSE TRUE TRUE
# Show the repeat entries 只能显示后面出现的与前面重复的数据,并没有全部重复数据,即第一个重复数据都没显示
df[duplicated(df),]
# label value
# B 3
# A 4
# A 4
# Show unique repeat entries
unique(df[duplicated(df),])
# label value
# B 3
# A 4
# Original data with repeats removed. These do the same:
unique(df)
df[!duplicated(df),]
# label value
# A 4
# B 3
# C 6
# B 1
# A 2
libingfei
谢谢,我没想到你的方法。
我想到的是这个,你可以试下这个方法,我们的方法都需要至少遍历两次列表。
期待有更好的方法。
> df[duplicated(df,fromLast = TRUE)|duplicated(df),]
label value
1 A 4
2 B 3
4 B 3
7 A 4
8 A 4