【问题标题】:Remove rows in dataframe based on three columns根据三列删除数据框中的行
【发布时间】:2011-11-01 13:49:51
【问题描述】:

我有一个类似 z 的数据框:

z <- matrix(c(1,0,0,1,1,0,0, 
      1,0,0,0,1,0,0, 
      0,0,0,0,0,0,0, 
      0,0,1,0,0,0,0), 
    nrow=7, 
    dimnames=list(LETTERS[1:7],NULL)) 

   [,1] [,2] [,3] [,4]
A    1    1    0    0
B    0    0    0    0
C    0    0    0    1
D    1    0    0    0
E    1    1    0    0
F    0    0    0    0
G    0    0    0    0

现在我想删除第 1、2 和 3 列的值相同的重复行。

  • 删除 E 行,因为它与 A 相同。
  • 删除 C、F 和 G 行,因为它们与 B 相同。

结果应该是这样的:

   [,1] [,2] [,3] [,4]
A    1    1    0    0
B    0    0    0    0
D    1    0    0    0

谁能帮我解决这个问题?非常感谢!

【问题讨论】:

    标签: r row unique dataframe


    【解决方案1】:
    > z[rownames(unique(z[,-4])),]
      [,1] [,2] [,3] [,4]
      A    1    1    0    0
      B    0    0    0    0
      D    1    0    0    0
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-15
      • 2021-06-23
      • 1970-01-01
      • 2021-12-06
      • 1970-01-01
      相关资源
      最近更新 更多