2011-11-01 36 views
6

Tôi có một dataframe như z:Di chuyển hàng trong dataframe dựa trên ba cột

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 

Bây giờ tôi muốn loại bỏ các hàng trùng lặp mà các giá trị của cột 1, 2, và 3 đều giống nhau.

  • Remove hàng E vì nó giống như A.
  • Remove hàng C, F và G, vì họ là giống với B.

Kết quả sẽ được như thế này:

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

Có ai có thể giúp tôi với điều này không? Cảm ơn nhiều!

Trả lời

7
> z[rownames(unique(z[,-4])),] 
    [,1] [,2] [,3] [,4] 
    A 1 1 0 0 
    B 0 0 0 0 
    D 1 0 0 0 
+0

Cảm ơn bạn MAX !! – Lisann

Các vấn đề liên quan