2015-10-04 61 views
5

假設我有這個矩陣M:提取所有列的R值按行由一個特定的行名

  V1 
B001E4KFG0 A3SGXH7AUHU8GW 
B00813GRG4 A1D87F6ZCVE5NK 
B00813GRG4 ABXLMWJIXXAIN 

現在,如果我想提取由rowname所有列值「B00813GRG4」我該怎麼辦。我試圖M["B00813GRG4",]但它給我的只有「A1D87F6ZCVE5NK」,而不是兩個「A1D87F6ZCVE5NK」和「ABXLMWJIXXAIN」

回答

3

我們可以使用==返回一個邏輯向量,然後它可以被用來子集行。

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

使用「B00813GRG4」作爲行索引將只返回類似於使用match第一匹配元件。

M[match('B00813GRG4', rownames(M)),, drop=FALSE] 
#   V1    
#B00813GRG4 "A1D87F6ZCVE5NK" 
相關問題