Freitag, 17. Juni 2011

Umgang mit Daten in R

Das Bearbeiten und Ändern von Daten funktioniert mit R deutlich anders als mit SPSS - schon weil es keine graphische Oberfläche zum Bearbeiten der Daten gibt.

Der typische SPSS Datensatz mit Variablen in den Spalten und Fällen (Versuchspersonen) in den Zeilen heißt bei R data frame und ist ein Objekt im Workspace. Das kann entweder durch das Einlesen einer Datendatei oder durch Zuweisung von Daten erzeugt werden. Zu verwendung kommt dabei der Zuweisungsbefehl <-

Erzeugen eines Datensatzes (Data frame) durch Einlesen einer Datendatei

Experiment1Daten <- read.delim2(“C:/Dokumente und Einstellungen/All Users/Dokumente/data-experiment1.txt”)

Erzeugen eines Datensatzes (Data frame) durch direkte Zuweisung von Daten

Zugriff auf Daten in einem Datensatz


Will man den Datensatz komplett am Bildschrim ausgeben, gibt man einfach den Namen des Datensatzes ein und bestätigt mit der Eingabe-Taste. Die Eingabe von Experiment1Daten führt also dazu, dass alle Daten ausgegeben werden.

Will man nur eine Variable ausgeben, so erreicht man dies, indem der Variablenname mit einem $ angehängt wird:

Experiment1Daten$Geschlecht

oder indem die Spaltennummer in eckigen Klammern an den Namen des Datensatzes angehängt wird:

Experiment1Daten[3]

Sollen mehrere Spalten ausgegeben werden, wird dies durch ein : deutlich gemacht:

Experiment1Daten[3:5] gibt die Spalten 3 bis 5 aus.




Erstellen einer neuen Variablen in einem Datensatz

Mit dem Befehl

IQDaten$ZF<-IQDaten$folgen1 + IQDaten$folgen2 +IQDaten$folgen2

Wird im Datensatz IQDaten eine neue Variable mit dem Namen ZF als Summe der Variablen (in diesem Fall IQ-Items) folgen1, folgen2 und folgen3 erstellt.


Etwas kürzer geht es, wenn man R durch attach(IQDaten) mitteilt, dass man sich im Folgenden nur auf diesen Datensatz beziehen will. Aber Achtung: Auf keinen Fall detach() vergessen, sonst kann es passieren, dass man später mit einem falschen Datensatz rechnet, ohne es zu merken.

attach(IQDaten)
IQDaten$ZF = folgen1 + folgen2 + folgen3
detach(IQDaten)

Auswahl von Fällen

Will man nur mit einigen Fällen rechen, also z.B. mit den nur mit den weiblichen Versuchspersonen, erstellt man einfach einen neuen Datensatz durch den Zuweisungoperator <-, der nur Frauen anhand der Variablen "Geschlecht" enthält. Wichtig ist das doppelte Gleichheitszeichen == (ein einfaches Gleichheitszeichen bedeutet in vielen Programmiersprachen, dass einer Variablen ein Wert zugewiesen werden soll, was hier jedoch nicht gemeint ist). Wie bereits erwähnt, kann R mehrere Datensätze gleichzeitig im Workspace halten:


Experiment1Frauen <- Experiment1Daten[which(Geschlecht=="weiblich"),]

Soll in den neuen Datensatz nur eine bestimmte Variable aufgenommen werden, so wird diese nach dem Komma eingefügt

Experiment1Frauen <- Experiment1Daten[which(Geschlecht=="weiblich"),3:5]

erzeugt einen neuen Datensatz, der die Variablen 3 bis 5 enthält und nur Frauen umfasst. Soll auch das Alter als weiteres Auswahlkriterium berücksichtigt werden, wird der Befehl erweitert zu


Experiment1Frauen <- Experiment1Daten[which(Geschlecht=="weiblich"&Alter>20),3:5] 

Berechnen neuer Werte

Manchmal möchte man Variablen neu berechnen, z.B. der Variablen "ADHS" den Wert 1 zuweisen, wenn in einer anderen Variablen ein bestimmter Schwellenwert erreicht wurde. Das geht wie folgt. Voraussetzung ist allerding, dass die Variable "AL" keine Missings enthält (siehe auch Umgang mit Missings).

Daten[Daten$AL < 65,"ADHS"]<-1

Keine Kommentare:

Kommentar veröffentlichen