GNU R: Daten selektieren

Daten auswählen Bearbeiten

Sehr oft möchte man nicht alle Daten aus einer eingelesenen Datei verarbeiten, sondern nur Teile davon. Hier bietet R elegante Lösungen basierend auf Rs sehr flexiblen Parameterverarbeitung.

Inhaltsverzeichnis Bearbeiten


Problem: Ich habe ein Tabelle und möchte nur diese Tabelle reduzieren. Es sollen nur die Spalten ausgewählt werden, die mit den Buchstaben "Row" anfangen.

Lösung: Hier ein Beispiel mit einer großen Tabelle:

> dim(bt)
[1]   150 63983

Dies ist die Originaltabelle.

> r = colnames(bt, prefix="Row")

Die Variable r enthält alle Spaltennamen aus der Originaltabelle.

> rr = grep("Row*",r)

Die Variable rr enthält alle Indizies der Namen die mit Row beginnen. Nicht die Namen selbst.

> snp = bt[,rr]
> dim(snp)
[1]   150 52727
> snp[1:5,1:5]
  Row_14496 Row_14497 Row_14498 Row_14499 Row_14500
1        AG        AC        AG        AG        AG
2        AA        AC        GG        AG        AG
3        AG        AC        GG        AA        AA
4        AA        AC        AG        AA        AG
5        AA        AA        GG        AG        AG

Zuletzt wird die Tabelle reduziert mit Hilfe der mittels grep gefundenen Indizies.