我在这样的情况下我: 我有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