Dichotomisieren in R

von | Zuletzt bearbeitet am: Sep 30, 2022 | R | 0 Kommentare

1 Dichotomisierung allgemein

Dichotomisieren bedeutet, dass eine Variable (typischerweise metrisch und ordinal) transformiert wird. Nach der Transformation hat sie nur noch zwei Ausprägungen. Zum Beispiel “ja” oder “nein”, 1 oder 0 und so weiter.

Dichotomisierung

 

2 Dichotomisieren in R mit der ifelse()-Funktion

Für die Dichotomisierung verwende ich die sogenannte ifelse()-Funktion.
Wenn eine beliebige Bedingung zutrifft, wird eine neue Variable die Ausprägung z.B. 0 bekommen. Ist dies nicht der Fall, bekommt die neue Variable die Ausprägung 1.
Die Prüfbedingung ist eine beliebige Festsetzung eines Trennwertes. Am Beispiel des BMI wäre dieser Trennwert 25 – er trennt Normalgewicht und Übergewicht (vgl. Wikipedia).

 

2.1 Ziffernbezeichner

Ich erstelle in meinem Dataframe “data” eine neue Variable namens “uebergewicht” und verwende die ifelse()-Funktion für den BMI (data$BMI). Ab einem BMI von 25 (>=25) ist die Person übergewichtig. Der Variable wird dann die Ausprägung 1 zugewiesen. Bei einem BMI kleiner 25 (<25) liegt kein Übergewicht vor. Die Variable bekommt die Ausprägung 1 zugewiesen.

ACHTUNG: Hier muss man gut aufpassen, ob man “<=", "<", ">” oder “>=” wählt, also ob der Trennwert mit eingeschlossen werden soll, oder nicht.


data$uebergewicht <- ifelse(data$BMI >= 25, 1, 0)

 

2.2 Wörter als Bezeichner

Das Vorgehen ist hier analog. Ich weise einer vorher definierten Variable Ausprägungen zu. Allerdings sind es diesmal Wörter, z.B. eben “Ja” und “Nein”. Wichtig ist hierbei, dass die Wörter in Anführungszeichen geschrieben werden.


data$uebergewicht <- ifelse(data$BMI >= 25, "Ja", "Nein")

 

Abschließend empfiehlt sich eine Faktorisierung dieser Variable. Bisher ist sie als “Character”, also als Wort, hinterlegt. Gewisse statistische Auswertungen verlangen aber numerische Werte oder eben Faktoren.


data$uebergewicht <- as.factor(data$uebergewicht)

 

3 Dichotomisieren in R mit dem sjmisc()-Paket und der dicho()-Funktion

Nach der Installation des sjmisc()-Paketes mit install.packages("sjmisc") und dem Laden dessen mit library(sjmisc), verwendet man die dicho()-Funktion. Hier gibt man lediglich die zu dichotomisierende Variable an und weist sie einer neuen Variable zu (hier "uebergewicht" im Dataframe "data").

Das Argument dich.by= ist entscheidend. Hier ist entsprechend der Wert einzusetzen, anhand dessen dichotomisiert wird.

  • Standardmäßig wird die neue Variable im Falle "<= dem Trennwert" auf 0 gesetzt.
  • Ist die Ausprägung > als der Trennwerts, wird die neue Variable auf 1 gesetzt.

Erneut setze ich hier 25 ein. Die Funktion setzt die Ausprägung der neuen Variable data$uebergewicht bei Werten kleiner oder gleich 25 auf 0, und entsprechend auf 1, wenn die Werte über 25 sind.
Eine Faktorisierung wird von der Funktion dicho() automatisch vorgenommen.


install.packages("sjmisc")
library(sjmisc)
data$uebergewicht<- dicho(data$BMI, dich.by=25)

 

4 Videotutorial

 

Weitere nützliche Tutorials findest du auf meinem YouTube-Kanal.  

 

 

Hat dir der Beitrag geholfen?

Dann würde ich mich über eine kleine Spende freuen, die es mir erlaubt, weiterhin kostenfreie Inhalte zu veröffentlichen.
Alternativ kannst du über meinen Amazon Affiliate-Link einkaufen – ohne Zusatzkosten.

Vielen Dank und viel Erfolg!

Über mich

Björn Walther

Ein 💚 für Statistik & Datenanalyse

Excel Online-Kurs

YouTube-Kanal

Inhalt