Skalen aus Items in R bilden

von | Zuletzt bearbeitet am: Oct 13, 2022 | R, Skalen, Skalenbildung


Zur Erfassung latenter Konstrukte werden häufig Skalen verwendet. Diese setzen sich wiederum aus einer bestimmten Anzahl an Items (=Fragen) zusammen. Welche Möglichkeiten der Skalenbildung durch Items existieren, zeigt dieser Artikel.

1 Ausgangssituation – eine Skala und sie bildende Items

Am sinnvollsten ist das Verwenden bereits existierender Skalen für latente Konstrukte. Dies spart die aufwändige Prüfung der Validität (aber nicht Reliabilität bezogen auf die eigene Stichprobe). Skalen findet man in Skalenhandbüchern der jeweiligen Fachdisziplin oder z.B. bei Institutionen wie der GESIS. Zumeist wird neben den expliziten Formulierungen der Fragen auch eine Empfehlung über die Skalierung und den Wertebereich der einzelnen Items gegeben, inklusive möglicher Kontrollfragen.

Für mein Beispiel verwende ich eine Skala zum Umweltbewusstsein mit lediglich 3 Items. Die Items wurden über eine 5-stufige Likert-Skala erhoben. Eine höhere Ausprägung bedeutet eine höhere Zustimmung zu einer gewissen Verhaltensweise. Eine im Vorfeld notwendige Umkodierung eines Kontrollitems ich durchgeführt und hier gezeigt.

Es ist im Vorfeld immer zu prüfen, ob eine Umkodierung notwendig ist! Entweder im Skalenhandbuch oder über eine spezielle R-Funktion

 

2 Skala bilden – der Mittelwert

Für die Skalenbildung habe ich nun die Items “Umwelt1”, “Umwelt2” und “Umwelt3_rekodiert”, die sich im Dataframe data_xls befinden. Da sich im Datensatz die Fälle bzw. Beobachtungen in den Zeilen befinden, ist der Mittelwert je Zeile über die drei Items zu bilden. Dies funktioniert zwar auch mit manueller Addition und Teilung, scheitert aber zumeist an Sonderfällen. Ein Sonderfall sind fehlende Werte. Weist ein Item einen fehlenden Wert auf, empfiehlt sich auf die Skalenmittelwertberechnung zu verzichten.

Die Funktion rowMeans() tut genau das, was ich möchte. In jeder Zeile aus einer gewissen Anzahl an Items einen Mittelwert zu bilden und bei fehlenden Werten dies zu unterlassen. Ich definiere hierzu eine neue Variable namens Umwelt_skala in meinem Dataframe. Ich schreibe data_xls$ davor, damit diese in den Dataframe data_xls gespeichert wird.

Da ich nur drei Items aus jeder Zeile benötige, ziehe ich mittels der subset()-Funktion diese heraus und lasse nur für jene den Mittelwert berechnen. Standardmäßig bildet rowMeans nämlich über alle Werte einer Zeile den Mittelwert, was bei ebenso vorhandenem Alter, Geschlecht usw. zu keinem sinnvollen Ergebnis führen kann.

Mit na.rm = TRUE weise ich zudem an, dass fehlende Werte zu einer listenweisen Löschung führen bzw. der Mittelwert des Falls ebenfalls einen fehlenden Wert ausweist.


data_xls$Umwelt_skala <- rowMeans(subset(data_xls, select = c(Umwelt1, Umwelt2, Umwelt3_rekodiert)), na.rm = TRUE)

Hier das Ergebnis:


Umwelt1	Umwelt2	Umwelt3_rekodiert	Umwelt_skala
3	3	3			3,00
2	1	2			1,67
4	2	4			3,33
1	2	1			1,33
5	5	5			5,00
4		4		
5	5	5			5,00
4	5	4			4,33
4	3	4			3,67
...     ...     ...                     ...

 

3 Skala bilden - der Summenscore

Das Prinzip der Berechnung sollte nun bereits hinreichend deutlich geworden sein. Die Berechnung des Summenscore funktioniert analog, allerdings mit der Funktion rowSums(). Alle anderen Argumente bleiben identisch zum obigen Vorgehen, weswegen hier direkt der Code folgen kann:


data_xls$Umwelt_skala_sum <- rowSums(subset(data_xls, select = c(Umwelt1, Umwelt2, Umwelt3_rekodiert)), na.rm = TRUE)

Hier das Ergebnis:


Umwelt1	Umwelt2	Umwelt3_rekodiert	Umwelt_skala_sum
3	3	3	3,00		9
2	1	2	1,67		5
4	2	4	3,33		10
1	2	1	1,33		4
5	5	5	5,00		15
4		4		
5	5	5	5,00		15
4	5	4	4,33		13
4	3	4	3,67		11
...     ...     ...                     ...

 

4 Hinweise zum Schluss

  • Gerade bei einem Summenscore ist es sehr wichtig auf fehlende Werte zu prüfen. Wenn im obigen Fall die Summe aus 4, fehlend und 4 gebildet wird, wäre das 8 und ein durchaus plausibler Wert. Allerdings hätte der Proband mit hoher Wahrscheinlichkeit beim fehlenden Wert einen von 0 bzw. dem Itemminimum von 1 verschiedenen Wert und eine Summe größer 8. Man würde dem Proband demzufolge ein geringeres Umweltbewusstsein attestieren - aber nur aufgrund fehlender Daten. Daher mein Appell, besonders beim Summenscore mit na.rm=TRUE zu arbeiten.
  • Beim Mittelwert ist es meist nicht ganz so dramatisch, wenn ein Item fehlt, allerdings sollte auch hier besser mit na.rm=TRUE gearbeitet werden, um potenzielle Verzerrungen zu vermeiden.

 

5 Videotutorial


 

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