Select 使用列名列表匹配数据 table 中的列
Select matching columns from a data table using a list of column names
我有一个 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')
但是,table 可能包含所有列。
如何提取 data.table 中的所有行,以及与 col.list 中的行相匹配的所有现有列?我在想一些事情:
dat[,.(col.list)]
但是没用。
尝试 dat[, ..col.list]
.
..
向 data.table
发出信号,让其查看父框架(即 dat
所在的环境),而不是 dat
本身。
我有一个 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')
但是,table 可能包含所有列。
如何提取 data.table 中的所有行,以及与 col.list 中的行相匹配的所有现有列?我在想一些事情:
dat[,.(col.list)]
但是没用。
尝试 dat[, ..col.list]
.
..
向 data.table
发出信号,让其查看父框架(即 dat
所在的环境),而不是 dat
本身。