我遇到这样的情况: 我有一个data.frame,如下所示:
Col1 Col2 a 3.4 a 3.4 d 3.2 c 3.2
我想要以下输出:
Col1 Col2 a 3.4 d 3.2 c 3.2
换句话说,价值" a" in" Col1"将被考虑一次,因为它被完全复制,否则即使是" d"和" c"与" Col2"中报道的相同它会被认为是两次因为它们是不同的实体(" d"不同于" c")
有人可以帮我吗?
答案 0 :(得分:5)
试试这个:
DF <- read.table(text=" Col1 Col2
a 3.4
a 3.4
d 3.2
c 3.2 ", header=T)
aggregate(Col2~Col1, unique, data=DF)
Col1 Col2
1 a 3.4
2 c 3.2
3 d 3.2
答案 1 :(得分:4)
> df <- read.table(header=T, text='
+ label value
+ A 4
+ B 3
+ C 6
+ B 3
+ B 1
+ A 2
+ A 4
+ A 4
+ ')
> unique(df[duplicated(df),]) # Finds unique duplicated
label value
4 B 3
7 A 4
> df[duplicated(df),] # Finds Duplicated
label value
4 B 3
7 A 4
8 A 4
> df[!duplicated(df),] # Finds rows which are not duplicated
label value
1 A 4
2 B 3
3 C 6
5 B 1
6 A 2
>