2015-10-04 23 views
5

Giả sử tôi có ma trận này M:Extract tất cả các cột giá trị hàng khôn ngoan bởi một tên hàng cụ thể trong R

  V1 
B001E4KFG0 A3SGXH7AUHU8GW 
B00813GRG4 A1D87F6ZCVE5NK 
B00813GRG4 ABXLMWJIXXAIN 

Bây giờ nếu tôi muốn trích xuất tất cả các giá trị cột bởi rowname "B00813GRG4" tôi nên làm gì . Tôi cố gắng M["B00813GRG4",] nhưng nó mang lại cho tôi chỉ "A1D87F6ZCVE5NK" và không được cả hai "A1D87F6ZCVE5NK" và "ABXLMWJIXXAIN"

Trả lời

3

Chúng ta có thể sử dụng == để trả về một vector logic và sau đó nó có thể được sử dụng để tập hợp con các hàng.

M[rownames(M)=='B00813GRG4',, drop=FALSE] 
#   V1    
# B00813GRG4 "A1D87F6ZCVE5NK" 
# B00813GRG4 "ABXLMWJIXXAIN" 

bằng cách sử dụng 'B00813GRG4' như chỉ số hàng sẽ chỉ trả lại các yếu tố phù hợp đầu tiên tương tự như sử dụng match.

M[match('B00813GRG4', rownames(M)),, drop=FALSE] 
#   V1    
#B00813GRG4 "A1D87F6ZCVE5NK" 
Các vấn đề liên quan