R 通过从不同框架创建的正则表达式选择列

R 通过从不同框架创建的正则表达式选择列,r,regex,R,Regex,我想通过正则表达式从数据帧中选择许多列。问题是,我想使用存储在另一个框架中的成对单词来实现这一点。更具体地说,mycounts数据框的列名: aa1 aa2 aa3 bb1 bb2 bb3 ff1 ff2 ff3 cc1 cc2 cc3 dd1 dd2 dd3 我想提取以下对(mypairs)中的独立帧: 其中aa和bb表示要从mycounts中选择的列的起始模式 我可以手动将所需的模式放入,如下所示: tmpdf <- subset(mycounts.test, select=(nam

我想通过正则表达式从数据帧中选择许多列。问题是,我想使用存储在另一个框架中的成对单词来实现这一点。更具体地说,mycounts数据框的列名:

aa1 aa2 aa3 bb1 bb2 bb3 ff1 ff2 ff3 cc1 cc2 cc3 dd1 dd2 dd3
我想提取以下对(mypairs)中的独立帧:

其中aa和bb表示要从mycounts中选择的列的起始模式

我可以手动将所需的模式放入,如下所示:

tmpdf <- subset(mycounts.test, select=(names(mycounts)[grep('^aa|^bb',names(mycounts))]))

tmpdf上一个命令中没有使用
names
函数:

替换

print(grep(foo, mycounts))


您没有在上一个命令中使用
names
函数:

替换

print(grep(foo, mycounts))


@安德里:对不起,我发了,马上重新格式化了,但我速度不快enough@Andrie:抱歉,我刚发布并重新格式化了它,但我的速度不够快
for (i in 1:nrow(mypairs)) { foo <- paste('^', mypairs[i,1], sep=""); print(grep(foo, mycounts)) }
print(grep(foo, mycounts))
print(grep(foo, names(mycounts)))