2016-11-30 5 views
1

私は12のデータフレーム(df1:df12)を持っています。それらのすべてには「遺伝子」という名前の列があります。すべてのデータフレームの「遺伝子」列にある特定の文字列、たとえば「GeneX」を検索し、その文字列を含む行を印刷したいと考えています。Grep複数のデータフレーム

今私はこれを行うために12行のコードを使用しています。

df1[grep("GeneX", df1$gene), ] 
df2[grep("GeneX", df2$gene), ] 
.... 
.... 

これを効率的に行うためにすべてのデータフレームをループする方法はありますか?

答えて

2

データセットをlistに保存し、 'Gene'カラムに 'GeneX'がgrepであることを確認し、その行をサブセット化することができます。

lst <- lapply(mget(paste0("df", 1:12)), function(x) x[grep("GeneX", x$Gene),]) 
+1

パーフェクト。ありがとう@akrun! –

関連する問題