我有一个包含列标题和行名称的大型数据框,即
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
这可用于指定在创建数据子集时要检索哪些行?
非常感谢任何解决方案!
答案 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"