R:如何从行名称中获取r数据帧中的许多(~2000)行

时间:2013-07-19 22:20:33

标签: r row subset

我有一个包含列标题和行名称的大型数据框,即

  

CountTable = read.table(Data,header = TRUE,row.names = 1)

     

head(CountTable)

        S1    S2    S3
Row1     9     8     2 
Row2   268   193   282
Row3   635   631   568
Row4     0     2     0
Row5    15     8    10
Row6   416   321   350
... etc

我想从中根据名称检索行。如果我只有几个要检索,我会使用方括号功能,例如

  

CountTable [c(“Row1”,“Row3”,“Row6”,]

        S1    S2    S3
Row1     9     8     2 
Row3   635   631   568
Row6   416   321   350

但是由于我的数据框有> 20,000行,我想用它们的名字检索〜2000,这不太实用。我最好的想法是,如果有一种方法可以从另一个文件中导入~2000名称(例如,names.txt / .cvs)并创建索引向量,例如

  

[1] Row1 Row3 Row6 ... Row2000

这可用于指定在创建数据子集时要检索哪些行?

非常感谢任何解决方案!

1 个答案:

答案 0 :(得分:3)

如果你是基于rownames的子集,你应该按照

的方式做一些事情
CountTable[rownames(CountTable) %in% c("row1", "row2", "row3"), ]

要构建rownames矢量,可以使用

paste0("row", 1:10)
[1] "row1"  "row2"  "row3"  "row4"  "row5"  "row6"  "row7"  "row8"  "row9" 
[10] "row10"