Fallauswahl in RStudio

Erfahren Sie, wie Sie mit RStudio Daten anhand von kategorialen und metrischen Variablen gezielt filtern.

Weiterlesen
Sebastian | 13.10.2023 | Lesedauer 4 min

Fallauswahl RStudio – es gibt unterschiedliche Beweggründe, weshalb manche Fälle von der Untersuchung ausgenommen werden oder im Gegensatz dazu nur spezielle Fälle in Betracht gezogen werden sollen. R erlaubt es, die Fälle nicht permanent aus dem Datensatz zu entfernen, sondern neue Datensätze mithilfe der Funktion Subset zwischenzuspeichern. Auf diese Weise kann zwischen verschiedenen Teilen des Gesamtdatensatzes gewechselt werden.

 

Gründe für eine Datenfilterung

Es gibt viele Gründe, bestimmte Fälle für die Analyse aus einem Datensatz auszuschliessen. Beispielsweise können bei einer grafischen Darstellung, wie einem Boxplot, Datenausreisser identifiziert werden, die signifikant von den Werten der Mehrheit der Datenpunkte abweichen. Solche Ausreisser, die weit über oder unter dem Durchschnittswert liegen, könnten die Ergebnisse eines Regressionsmodells beeinflussen und sollten herausgefiltert werden. Es könnte auch sinnvoll sein, Daten zu verwerfen, die ausserhalb eines angenommenen realistischen Bereichs liegen. Wenn zum Beispiel nach dem Alter der Befragten gefragt wird, könnten Werte über 100 Jahren als unrealistisch betrachtet und entfernt werden. Um eine hohe Datenqualität sicherzustellen, könnte man auch entscheiden, nur Befragte in der Analyse zu belassen, die eine bestimmte Interviewdauer nicht unterschritten haben oder spezifische Fragen beantwortet haben.

Manchmal werden zudem nur bestimmte Teile eines Datensatzes betrachtet. Wenn in bivariaten Analysen beispielsweise Zusammenhänge zwischen bestimmten Variablen identifiziert werden, kann man nach einer Fallauswahl überprüfen, ob dieser Zusammenhang für bestimmte Gruppen, wie Frauen, Minderjährige oder eine spezifische Alterskategorie, weiterhin besteht.

 

Fallauswahl durch einfache Filter

In einem beispielhaften Datensatz aus einer Befragung, der Angaben wie Körpergrösse, Gewicht, Alter und Geschlecht von 40 Personen enthält, könnte es von Interesse sein, die Daten nach bestimmten Kriterien zu filtern. In diesem Szenario möchten wir den Fokus auf die weiblichen Teilnehmer legen. Deshalb nutzen wir die Geschlechtsvariable, um den Datensatz zu filtern (1 für Männer, 2 für Frauen).

Zunächst laden wir den betreffenden Datensatz in RStudio. Nach dem Import wird der Datensatz im linken oberen Fenster sichtbar, wo wir später auch unser Skript finden werden. Im rechten oberen Fenster, dem „Environment“, sehen wir derzeit nur das Objekt „datensatz“. Im linken unteren Bereich befindet sich die Konsole. Hier wird der aus dem Skript stammende Code verarbeitet und hier werden auch die Ergebnisse der Berechnungen angezeigt (in diesem Szenario ist sie jedoch minimiert). Der untere rechte Bereich bietet zusätzliche Tools, darunter ein Hilfe-Menü und eine Übersicht über installierte und verfügbare Pakete.

Fallauswahl in RStudio

Um unsere Prozeduren festzuhalten und Befehle auszuführen, legen wir zuerst ein neues Skript an. Hierfür betätigen wir das kleine „+“-Zeichen in der linken oberen Ecke und selektieren die Option „R Skript“. Ein weiterer Weg wäre, die Tastenkombination Strg+Shift+N zu nutzen. Anschliessend erscheint neben dem bereits geöffneten Datensatz ein neuer Reiter, in den wir unseren Code schreiben können.

Fallauswahl in RStudio

Fallauswahl in RStudio

Um nun ausschliesslich weibliche Personen aus dem Datensatz zu filtern, definieren wir im Skript zunächst einen Namen für einen neuen Datensatz, der ausschliesslich weibliche Personen enthält. Wir benennen ihn hier mit „datensatz_weiblich“. Im Anschluss wird über die Subset-Funktion festgelegt, welche Fälle der neue Datensatz enthalten soll. Nach der öffnenden Klammer bestimmen wir zunächst, dass der Teildatensatz aus dem Gesamtdatensatz „datensatz“ extrahiert wird. Da die Ausprägung 2 der Variable Geschlecht für weibliche Personen steht, schliessen wir den Befehl mit „Geschlecht == 2“ ab. Der gesamte Befehl lautet:

datensatz_weiblich <- (subset(datensatz, Geschlecht == 2))

Fallauswahl in RStudio

Nachdem der Befehl im Skript markiert und über die Schaltfläche „Run“ ausgeführt wurde, erscheint im Environment rechts der neue Datensatz „datensatz_weiblich“. Die Datensatz-Ansicht auf der linken Seite verrät uns, dass darin nur noch Personen enthalten sind, die die Ausprägung 2 in der Variable Geschlecht aufweisen.

Fallauswahl in RStudio

Sind nun Analysen ausschliesslich für die weiblichen Personen des ursprünglichen Datensatzes gewünscht, können diese durchgeführt werden, indem im Skript der Datensatz „datensatz_weiblich“ angesprochen wird. Sämtliche Analysen werden so unter Vernachlässigung männlicher Personen erstellt. Soll der Filter wieder deaktiviert bzw. die Fallauswahl rückgängig gemacht werden, wird in den Befehlen einfach wieder der Ausgangsdatensatz verwendet.

 

Fallauswahl anhand metrischer Variablen

Ein ähnliches Prozedere findet Anwendung bei metrischen Filtervariablen, wie zum Beispiel dem Alter. Wenn das Ziel ist, nur Personen mittleren Alters im Datensatz zu berücksichtigen, könnten wir eine Altersgrenze zwischen 35 und 65 Jahren festlegen. Dieser Bereich kann durch eine logische Und-Kombination spezifiziert werden. In Worten umgesetzt, bedeutet die Formel „Alter>= 35 & Alter <=65“: Behalte jene Einträge im Datensatz, deren Alter mindestens 35 Jahre UND maximal 65 Jahre beträgt.

Wir gehen zunächst analog zur Fallauswahl anhand einer kategorialen Variable vor und definieren einen neuen Datensatz „datensatz_mittelalt“. Anschliessend wird nach der Subset-Funktion der Ausgangsdatensatz mit „datensatz“ bestimmt. Die eigentliche Fallauswahl findet nun mit dem Befehl „Alter>= 35 & Alter <=65“ statt.

Fallauswahl in RStudio

Nach Ausführung des Befehls über die Schaltfläche „Run“ erscheint im Environment der neue Datensatz „datensatz_mittelalt“, der ausschliesslich Personen im Alter zwischen 35 und 65 Jahren enthält.

Fallauswahl in RStudio

Der vollständige Code zur Erstellung eines Teildatensatzes anhand einer Altersgruppe lautet:

datensatz_mittelalt <-(subset(datensatz, Alter>=35 & Alter<=65))

 

Kombinierte Filter mit unterschiedlichen Variablen

Mithilfe eines logischen Operators wie dem „&“ für „und“ können verschiedene Filter miteinander kombiniert werden. Als Beispiel sollen die beiden zuletzt verwendeten Filter kombiniert werden und folglich ausschliesslich Frauen im Alter zwischen 35 und 65 Jahren beibehalten werden. Hierfür müssen die beiden beschriebenen Befehle zusammengeführt und mit einem „&“ verknüpft werden.

Fallauswahl in RStudio

Der entsprechende Befehl lautet:

datensatz_kombi <- (subset(datensatz, Geschlecht == 2 & Alter>=35 & Alter<=65))

Im Ergebnis ist anhand des neuen Datensatzes „datensatz_kombi“ zu erkennen, dass die definierten Bedingungen auf nur 7 der ursprünglich 40 Beobachtungen zutreffen. 7 Personen aus dem Ausgangsdatensatz sind also weiblich und in einem Alter zwischen 35 und 65 Jahren.

Fallauswahl in RStudio

Auf ähnliche Art und Weise könnte man beispielsweise auch männliche Personen herausfiltern, die ein bestimmtes Mindestgewicht erreichen oder überschreiten. Neben dem Und-Operator („&“) ist auch der Oder-Operator („|“) sehr nützlich. Durch die Anwendung des logischen ODER lässt sich z. B. festlegen, dass nur Personen im Datensatz verbleiben sollen, die hinsichtlich mindestens einer Variable Extreme aufweisen. So könnten z. B. nur solche Teilnehmer berücksichtigt werden, die entweder eine Körpergrösse von mindestens 190 cm ODER ein Gewicht von über 100 kg haben.

 

Weiterführende Literatur:

Fahrmeir, L., Heumann, C., Künstler, R., Pigeot, I., Tutz, G. (2016). Einführung in R. Berlin, Heidelberg: Springer.

Hedderich, J., Sachs, L. (2020). Angewandte Statistik. Berlin, Heidelberg: Springer.