【问题标题】:multiple columns comparison多列比较
【发布时间】:2013-01-14 14:04:22
【问题描述】:

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

谁能帮帮我?

【问题讨论】:

    标签: r


    【解决方案1】:

    试试这个:

    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 是更直接和正确的选择。使用它没有特殊原因。
    【解决方案2】:
    > 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
    > 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-20
      • 1970-01-01
      • 1970-01-01
      • 2022-11-29
      相关资源
      最近更新 更多