Wie die Teilmenge der Daten mit Voraus, string matching
Habe ich die folgenden Daten-frame aus, den würde ich gerne extrahieren von Zeilen basierend auf übereinstimmenden Zeichenfolgen.
> GEMA_EO5
gene_symbol fold_EO p_value RefSeq_ID BH_p_value
KNG1 3.433049 8.56e-28 NM_000893,NM_001102416 1.234245e-24
REXO4 3.245317 1.78e-27 NM_020385 2.281367e-24
VPS29 3.827665 2.22e-25 NM_057180,NM_016226 2.560770e-22
CYP51A1 3.363149 5.95e-25 NM_000786,NM_001146152 6.239386e-22
TNPO2 4.707600 1.60e-23 NM_001136195,NM_001136196,NM_013433 1.538000e-20
NSDHL 2.703922 6.74e-23 NM_001129765,NM_015922 5.980454e-20
DPYSL2 5.097382 1.29e-22 NM_001386 1.062868e-19
Also würde ich gerne extrahieren, z.B. zwei Zeilen basierend auf übereinstimmenden strings in $RefSeq_ID, dass funktioniert gut mit den folgenden:
> list<-c("NM_001386", "NM_020385")
> GEMA_EO6<-subset(GEMA_EO5, GEMA_EO5$RefSeq_ID %in% list, drop = TRUE)
> GEMA_EO6
gene_symbol fold_EO p_value RefSeq_ID BH_p_value
REXO4 3.245317 1.78e-27 NM_020385 2.281367e-24
DPYSL2 5.097382 1.29e-22 NM_001386 1.062868e-19
Aber einige der Zeilen mehrere RefSeq_IDs mit Komma getrennt, also ich bin auf der Suche nach einer Allgemeinen Weise zu sagen, wenn $RefSeq_ID enthält eine bestimmte Zeichenfolge Muster und dann Teilmenge, die Zeile.
InformationsquelleAutor Toke Duce Krogager | 2012-10-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zu tun partial matching, die Sie brauchen, um reguläre Ausdrücke verwenden (siehe
?grepl
). Hier ist eine Lösung für Ihr spezielles problem:Testen einer Sequenz in einer Zeit, wir wählen Sie einfach eine bestimmte seq-id:
Test für mehrere Gene, die wir verwenden, die
|
Betreiber:So
sollten Sie geben, was Sie wollen.
Ja, die Fäden werden getrennt mit "ORs"
InformationsquelleAutor csgillespie
Ist ein anderer Ansatz zu erkennen, der doppelte Einträge in
RefSeq_ID
als ein Versuch darstellen, zwei Datenbank-Tabellen in einem einzelnen Daten-frame. Wenn also die original-Tabelle istcsv
, dann normalisieren Sie die Daten in zwei Tabellenund erkennen, dass die Abfrage eine
subset
(select) auf derRefSeq
Tisch, gefolgt von einemmerge
(join) mit Annoführt zu
Vielleicht das Ziel ist die Zusammenführung mit einem "Master" - Tabelle, dann
oder ähnliches.
InformationsquelleAutor Martin Morgan