使用 grepl R 对列表进行子集化

Subset a list with grepl R

我正在尝试对包含数据帧的列表进行子集化:

Folkersen_IL6.txt
Folkersen_IL16.txt
Folkersen_IL1.txt
Height.txt
Met_Ile.out.txt 
etc

我已经用下面的代码试过了:

protein <- list.txt[grepl('Folkersen', list.txt)]

这一行只returns我一个列表1(含Folkersen_IL16.txt)。如何获得包含所有 3 个所需数据帧的子集?

尝试搜索列表的名称:

protein <- list.txt[grepl('Folkersen', names(list.txt))]

如果您的列表名称不是当前的数据框名称,那么只需更改您的脚本以在添加每个元素时使用数据框名称填充您的列表。

另一种选择是startsWith

protein <- list.txt[startsWith(names(list.txt), 'Folkersen')]