2

我处于这样的情况:我有一个如下所示的 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”不同)

任何人都可以帮助我吗?

4

2 回答 2

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
于 2013-01-14T14:08:13.873 回答
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
> 
于 2013-01-14T14:07:23.483 回答