使用列名列表从数据表中选择匹配的列[重复]。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用列名列表从数据表中选择匹配的列[重复]。相关的知识,希望对你有一定的参考价值。
我有一个data.table,有55993行,2923列,一个子集是这样的。
Name Description GTEX-N7MS-0007-SM-2D7W1 GTEX-N7MS-0008-SM-4E3JI GTEX-N7MS-0011-R10A-SM-2HMJK
ENSG00000223972 DDX11L1 0 0 0
ENSG00000227232 WASH7P 158 166 209
ENSG00000243485 MIR1302-11 0 0 4
ENSG00000237613 FAM138A 0 0 0
ENSG00000268020 OR4G4P 0 0 0
ENSG00000240361 OR4G11P 0 0 0
名称列是唯一的,所以它可以被用作键。
setkey(dat,Name)
我有一个175列的列表,我想提取出来,比如这样:
col.list <- c('GTEX-N7MS-0011-R10A-SM-2HMJK','GTEX-N7MS-0008-SM-4E3JI','GTEX-N7MS-0826-SM-2AXU2')
然而,有可能这个表确实包含了所有的列。
如何从data.table中提取所有的行,并提取与col.list中的列相匹配的所有列?我想的是这样的。
dat[,.(col.list)]
但这行不通
答案
试用 dat[, ..col.list]
.
该 ..
讯号 data.table
在父框架中寻找(即在 dat
所在)而不是在 dat
本身。
以上是关于使用列名列表从数据表中选择匹配的列[重复]。的主要内容,如果未能解决你的问题,请参考以下文章
PHP / MYSQL - 返回变量匹配数据点的列名[重复]
如果字符串数组中的列名在字符串数组中具有匹配的值,则获取DataRow