我在這樣的情況下我: 我有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
換句話說,「Col1」中的值「a」將被認爲是一次,因爲它是再現的否則即使「d」和「c」的值與「Col2」中報告的值相同,由於它們是不同的實體(「d」不同於「c」),所以它將被認爲是兩次。
任何人都可以幫助我嗎?
我在這樣的情況下我: 我有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
換句話說,「Col1」中的值「a」將被認爲是一次,因爲它是再現的否則即使「d」和「c」的值與「Col2」中報告的值相同,由於它們是不同的實體(「d」不同於「c」),所以它將被認爲是兩次。
任何人都可以幫助我嗎?
> 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
>
試試這個:
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
這是(確實)只是一個選擇,我同意你的'duplicated'是更直接的和正確的。沒有特殊的理由使用它。 –
非常感謝Harpal! – Bfu38