2016-11-30 4 views
1

Ich habe 12 Datenrahmen (DF1: df12). Alle von ihnen haben eine Spalte namens "Gen". Ich möchte in allen Datenframes in der Spalte "gen" nach einer bestimmten Zeichenkette "GeneX" suchen und die Zeile mit der Zeichenkette ausgeben.Grep mehrere Datenrahmen

Im Moment verwende ich 12 Zeilen Code, um dies zu tun.

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

Gibt es eine Möglichkeit, alle Datenrahmen zu durchlaufen, um dies effizienter zu machen?

Antwort

2

Wir können die Datensätze in einer list halten und nach 'GeneX' mit grep auf 'Gene' Spalte suchen, unterteilen Sie die Zeilen.

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

Perfekt. Danke @akrun! –

Verwandte Themen