- 1
-
Laden der Pakete mit
p_load - 2
- Visualisierungshintergrund festlegen
Reliabilität von Skalen

Wir haben in den vorangegangenen Kapitel zur Faktorenanalyse festgestellt, dass es einen empirisch messbaren Faktor in unseren Daten gibt, welchen wir unter Rückgriff auf unsere theoretischen Grundlagen als Vertrauen in gesellschaftliche Institutionen interpretieren. Wir haben also die beiden ersten Ziele des Kapitels bereits erreicht und müssen nur noch die eigentliche Indexbildung sowie das Prüfen der Qualität des Index vornehmen.
Falls ihr euch immer noch fragt was genau ein Index ist, könnte man etwas vereinfacht sagen, dass wir eine neue Variable (den Index) auf Grundlage der Indikatoren erstellen, welche die Informationen aus den Indikatoren möglichst gut bündelt. Das erleichtert uns die weitere Berechnung von statistischen Tests und Analysen und führt damit zu einer besseren Übersichtlichkeit und leichteren Interpretation der Ergebnisse. Wir müssen dann nur noch mit einer Index-Variable weiter arbeiten statt mit 15 Indikatoren.
Entsprechend möchten wir jetzt eine neue Index-Variable für das Vertrauen in gesellschaftliche Institutionen auf Grundlage der Indikatoren bilden.
1 Data Management
Wir beginnen zunächst mit der Vorbereitung und Laden die notwendigen Pakete.
Danach laden wir die Daten aus dem Allbus.
1.1 Auswahl der Variablen für die Indexbildung
Wir greifen natürlich auf die gleiche Datengrundlage zurück, welche wir auch für die Faktorenanalyse verwendet haben. Was in unserem Fall bedeutet, dass wir das Vertrauen in gesellschaftliche Institutionen untersuchen, entsprechend sollten wir Variablen bzw. Indikatoren auswählen, die die unterschiedlichen Bestandteile der latenten Variable abdecken.
Ganz konkret wählen wir Variablen aus, die das…
- Vertrauen in das Gesundheitswesen (pt01)
- Vertrauen in das Bundesverfassungsgericht (pt02)
- Vertrauen in den Bundestag (pt03)
- Vertrauen in die Stadt- oder Gemeindeverwaltung (pt04)
- Vertrauen in die Katholische Kirche (pt06)
- Vertrauen in die Evangelische Kirche (pt07)
- Vertrauen in die Justiz (pt08)
- Vertrauen in das Fernsehen (pt09)
- Vertrauen in das Zeitungswesen (pt10)
- Vertrauen in die Hochschulen (pt11)
- Vertrauen in die Bundesregierung (pt12)
- Vertrauen in die Polizei (pt14)
- Vertrauen in die Politischen Parteien (pt15)
- Vertrauen in die Kommission der EU (pt19)
- Vertrauen in das Europäische Parlament (pt20)
… erfassen.
Wir bereiten die Daten entsprechend vor, indem wir die fehlenden Werte entfernen und die Variablen in numerische umwandeln.
- 1
-
Wir erstellen ein neues Objekt basierend auf dem Datensatz
daten - 2
-
Mit dem Doppelpunkt wählen wir alle Variablen zwischen
pt01bispt20aus - 3
-
Die Kombination aus
mutateundacrossermöglicht es uns die Funktionas.numericin einer Zeile auf alle zuvor ausgewählten Variablen anzuwenden. Die~gibt den Start der anzuwenden Funktion (hieras.numerican), der Punkt innerhalb der Klammer deras.numericFunktion dient als eine Art Platzhalter für die zuvor ausgewählten Variablen - 4
-
Wir codieren die unterschiedlichen fehlenden Werte um (aus der Allbus-Dokumentation entnommen). Hierfür greifen wir auf die Funktion
if_elsezurück. Dabei handelt es sich um ein Entweder-Oder-Befehl. Konkret wird zunächst eine Bedingung geprüft und dann auf dieser Grundlage entweder Option 1 oder Option 2 ausgeführt. Der Punkt vor%in%dient wiederum als Platzhalter, mit dem Ausdruck%in%prüfen wir, ob die nachfolgenden Werte (also c(-9, -11, -42)) in der jeweiligen Variable vorkommen. Hierbei handelt es sich um unsere Bedingung für den Entweder-Oder-Befehl. Wenn einer der Werte aus der geprüften Variable einem der spezifizierten Werte entspricht - also unsere Bedingung erfüllt - wird dieser durchNAersetzt. Ist die Bedingung nicht erfüllt, wird die andere Option ausgeführt und der bereits existierende Wert wird beibehalten. - 5
-
Wir entfernen mit der Funktion
na.omitfehlende Werte aus dem Datensatz
Wir bennen die ausgewählten Indikatoren um, damit die Bezeichnungen der Indikatoren für uns leichter zu merken sind.
allbus_vertrauen = allbus_vertrauen %>%
rename(Ver_Gesundheitswesen = pt01,
Ver_BVerfG = pt02,
Ver_Bundestag = pt03,
Ver_Verwaltung = pt04,
Ver_kath_Kirche = pt06,
Ver_evan_Kirche = pt07,
Ver_Justiz = pt08,
Ver_TV = pt09,
Ver_Zeitung = pt10,
Ver_Uni = pt11,
Ver_Regierung = pt12,
Ver_Polizei = pt14,
Ver_Parteien = pt15,
Ver_Kom_EU = pt19,
Ver_EU_Par = pt20)
htmlTable(head(allbus_vertrauen))- 1
-
Mit dem
renameBefehl können wir die Variablen umbennen - 2
-
Wir überprüfen kurz, ob die Umbenennung geklappt hat und lassen uns die ersten Zeilen des Datensatzes anzeigen. Hierfür nutzen wir
htmlTablefür eine schönere Darstellung der Tabelle sowiehead, um uns die ersten paar Zeilen des Datensatzesallbus_vertrauenanzeigen zu lassen
| Ver_Gesundheitswesen | Ver_BVerfG | Ver_Bundestag | Ver_Verwaltung | Ver_kath_Kirche | Ver_evan_Kirche | Ver_Justiz | Ver_TV | Ver_Zeitung | Ver_Uni | Ver_Regierung | Ver_Polizei | Ver_Parteien | Ver_Kom_EU | Ver_EU_Par | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 7 | 7 | 4 | 2 | 3 | 7 | 4 | 2 | 4 | 7 | 6 | 3 | 3 | 5 | 5 |
| 2 | 4 | 7 | 4 | 4 | 2 | 5 | 5 | 5 | 5 | 5 | 6 | 5 | 4 | 5 | 6 |
| 3 | 3 | 4 | 5 | 6 | 1 | 3 | 6 | 4 | 4 | 4 | 5 | 6 | 4 | 4 | 4 |
| 4 | 5 | 5 | 4 | 5 | 3 | 5 | 4 | 5 | 6 | 6 | 4 | 5 | 3 | 5 | 5 |
| 5 | 4 | 7 | 5 | 3 | 2 | 2 | 5 | 3 | 4 | 5 | 5 | 6 | 3 | 3 | 3 |
| 6 | 3 | 3 | 3 | 3 | 1 | 2 | 3 | 3 | 3 | 4 | 4 | 4 | 2 | 2 | 2 |
Wir haben nun alle Daten geladen und die Variablen entsprechend vorbereitet. Wir können eigentlich mit der Indexbidlung beginnen, müssen uns allerdings davor noch entscheiden, welche Art von Index wir bilden möchten.
2 Verschiedene Arten von Indizes
Es gibt eine ganze Reihe von möglichen Arten von Indizes, welche wir theoretisch berechnen könnten.
| Art des Index | Bildung (Beispiel) | Beschreibung |
|---|---|---|
| Ungewichteter additivier Index | Index = Indikator_1 + Indikator_2 + Indikator_3 | Die Ausprägungen der Indikatorvariablen werden addiert bzw. zu gemittelt. |
| Ungewichteter multiplikativer Index | Index = Indikator_1 * Indikator_2 * Indikator_3 | Wenn ein Index Mindestausprägungen auf allen Indikatorvariablen voraussetzt sollte multiplikativ zu einem Gesamtindex verknüpft werden. |
| Gewichteter additivier Index | Index = (2*Indikator_1) + Indikator_2 + Indikator_3 | Gewichtete additive Indizes ermöglichen eine differenzierte Behandlung der einzelnen Indikatoren. |
Die Entscheidung, welche Art der Indexbildung gewählt wird sollte vor dem Hintergrund der Daten, sowie der latenten Variable und deren Eigenschaften erfolgen. Beispielsweise würde es für ein Index, welcher die Zufriedenheit mit einer Bahnreise widerspiegelt und aus den Inidkatoren Reisedauer, Service während der Reise, Komfort während der Fahrt gebildet wird, Sinn ergeben einen Ungewichteten multiplikativen Index zu bilden, da bei einer Reisedauer von Null keine Reise stattgefunden hat und somit auch die anderen beiden Indikatoren nicht von Bedeutung sind.
3 Berechnen eines Ungewichteten Summenindex
Wir haben bereits in Kapitel 5.2 mittels der explorativen Faktorenanalyse statistisch getestet, ob wir einen Index aus den genannten Variablen bilden können. Dies ist der Fall. Wir berechnen nur die einfachste Form eines Index, den ungewichteten Summenindex. Das bedeutet, dass wir die Werte pro befragter Person für die genannten Variablen aufsummieren und KEINE Gewichtungen einbauen. Eine Gewichtung wäre bspw. wenn wir eine Variable doppelt zählen würden.
Wir erstellen eine neue Variable vertrauen_ges_inst und summieren die Werte aller Indikatoren pro Fall (befragte Person) auf, bevor wir diese durch die Anzahl der Indikatoren teilen. Auf diese Art und Weise erhalten wir die selben Werteausprägungen, wie in den Indikatoren was uns die Interpretation erleichtert.
index_vertrauen = allbus_vertrauen %>%
mutate(vertrauen_ges_inst = (Ver_Gesundheitswesen + Ver_BVerfG + Ver_Bundestag + Ver_Verwaltung + Ver_kath_Kirche + Ver_evan_Kirche + Ver_Justiz+ Ver_TV + Ver_Zeitung + Ver_Uni + Ver_Regierung + Ver_Polizei + Ver_Parteien + Ver_Kom_EU + Ver_EU_Par) / 15)
htmlTable(head(index_vertrauen))- 1
-
Wir bilden mit Hilfe von
mutatedie neue Variablevertrauen_ges_inst, welche sich aus der Summe der Indikatoren geteilt durch die Anzahl der Indikatoren zusammensetzt. - 2
-
Die
htmlTableFunktion ermöglicht uns eine schönere Darstellung der Tabelle. Mitheadwählen wir die ersten paar Fälle aus dem Datensatzindex_vertrauenaus
| Ver_Gesundheitswesen | Ver_BVerfG | Ver_Bundestag | Ver_Verwaltung | Ver_kath_Kirche | Ver_evan_Kirche | Ver_Justiz | Ver_TV | Ver_Zeitung | Ver_Uni | Ver_Regierung | Ver_Polizei | Ver_Parteien | Ver_Kom_EU | Ver_EU_Par | vertrauen_ges_inst | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 7 | 7 | 4 | 2 | 3 | 7 | 4 | 2 | 4 | 7 | 6 | 3 | 3 | 5 | 5 | 4.6 |
| 2 | 4 | 7 | 4 | 4 | 2 | 5 | 5 | 5 | 5 | 5 | 6 | 5 | 4 | 5 | 6 | 4.8 |
| 3 | 3 | 4 | 5 | 6 | 1 | 3 | 6 | 4 | 4 | 4 | 5 | 6 | 4 | 4 | 4 | 4.2 |
| 4 | 5 | 5 | 4 | 5 | 3 | 5 | 4 | 5 | 6 | 6 | 4 | 5 | 3 | 5 | 5 | 4.66666666666667 |
| 5 | 4 | 7 | 5 | 3 | 2 | 2 | 5 | 3 | 4 | 5 | 5 | 6 | 3 | 3 | 3 | 4 |
| 6 | 3 | 3 | 3 | 3 | 1 | 2 | 3 | 3 | 3 | 4 | 4 | 4 | 2 | 2 | 2 | 2.8 |
Wir können uns noch die deskriptive Statistik für den Index anschauen, diese ist wichtig um den berechneten Index korrekt zu interpretieren.
4 Reliabilität des Indizes berechnen
Bevor wir diesen Index einsetzen können, müssen wir zunächst noch checken, ob die Variablen auch inhaltlich zusammenpassen. Dazu ermitteln wir Cronbach’s Alpha als Maß der Skalenreliabilität:
- 1
-
Wir wählen mit
selectalle Variablen zwischenVer_GesundheitswesenundVer_EU_Paraus - 2
-
Hier rufen wir das Paket
psychauf, nutzen aus diesem die Funktionalpha, um Cronbach’s Alpha zu berechnen
Reliability analysis
Call: psych::alpha(x = ., check.keys = TRUE)
raw_alpha std.alpha G6(smc) average_r S/N ase mean sd median_r
0.92 0.92 0.94 0.43 11 0.0021 4 1 0.42
95% confidence boundaries
lower alpha upper
Feldt 0.91 0.92 0.92
Duhachek 0.91 0.92 0.92
Reliability if an item is dropped:
raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r
Ver_Gesundheitswesen 0.92 0.92 0.94 0.44 11.0 0.0021 0.024
Ver_BVerfG 0.91 0.91 0.94 0.43 10.5 0.0022 0.023
Ver_Bundestag 0.91 0.91 0.93 0.41 9.9 0.0024 0.020
Ver_Verwaltung 0.91 0.91 0.94 0.43 10.6 0.0022 0.025
Ver_kath_Kirche 0.92 0.92 0.94 0.45 11.7 0.0020 0.018
Ver_evan_Kirche 0.92 0.92 0.94 0.45 11.3 0.0020 0.021
Ver_Justiz 0.91 0.91 0.93 0.42 10.3 0.0023 0.023
Ver_TV 0.91 0.91 0.93 0.43 10.7 0.0022 0.023
Ver_Zeitung 0.91 0.91 0.93 0.43 10.5 0.0022 0.023
Ver_Uni 0.91 0.92 0.94 0.44 10.8 0.0022 0.024
Ver_Regierung 0.91 0.91 0.93 0.41 9.8 0.0024 0.020
Ver_Polizei 0.91 0.91 0.94 0.43 10.7 0.0022 0.024
Ver_Parteien 0.91 0.91 0.93 0.42 10.1 0.0023 0.022
Ver_Kom_EU 0.91 0.91 0.93 0.42 10.0 0.0023 0.020
Ver_EU_Par 0.91 0.91 0.93 0.42 10.0 0.0023 0.020
med.r
Ver_Gesundheitswesen 0.43
Ver_BVerfG 0.41
Ver_Bundestag 0.41
Ver_Verwaltung 0.42
Ver_kath_Kirche 0.43
Ver_evan_Kirche 0.43
Ver_Justiz 0.41
Ver_TV 0.43
Ver_Zeitung 0.41
Ver_Uni 0.42
Ver_Regierung 0.41
Ver_Polizei 0.43
Ver_Parteien 0.41
Ver_Kom_EU 0.41
Ver_EU_Par 0.41
Item statistics
n raw.r std.r r.cor r.drop mean sd
Ver_Gesundheitswesen 3238 0.58 0.58 0.53 0.51 4.9 1.4
Ver_BVerfG 3238 0.70 0.69 0.67 0.64 5.3 1.5
Ver_Bundestag 3238 0.83 0.82 0.82 0.79 4.1 1.6
Ver_Verwaltung 3238 0.66 0.66 0.62 0.60 4.5 1.3
Ver_kath_Kirche 3238 0.47 0.46 0.42 0.38 2.3 1.5
Ver_evan_Kirche 3238 0.54 0.52 0.49 0.45 3.0 1.7
Ver_Justiz 3238 0.73 0.73 0.70 0.67 4.6 1.5
Ver_TV 3238 0.64 0.65 0.62 0.58 3.6 1.3
Ver_Zeitung 3238 0.67 0.68 0.66 0.62 4.0 1.3
Ver_Uni 3238 0.61 0.63 0.58 0.56 5.2 1.2
Ver_Regierung 3238 0.83 0.83 0.83 0.80 4.1 1.6
Ver_Polizei 3238 0.63 0.64 0.60 0.57 4.9 1.4
Ver_Parteien 3238 0.78 0.77 0.76 0.74 3.2 1.3
Ver_Kom_EU 3238 0.80 0.79 0.81 0.75 3.5 1.5
Ver_EU_Par 3238 0.80 0.79 0.81 0.76 3.6 1.6
Non missing response frequency for each item
1 2 3 4 5 6 7 miss
Ver_Gesundheitswesen 0.02 0.04 0.10 0.17 0.28 0.28 0.11 0
Ver_BVerfG 0.02 0.04 0.07 0.15 0.19 0.28 0.24 0
Ver_Bundestag 0.08 0.10 0.16 0.25 0.24 0.14 0.04 0
Ver_Verwaltung 0.03 0.05 0.13 0.26 0.31 0.18 0.04 0
Ver_kath_Kirche 0.42 0.20 0.16 0.13 0.05 0.03 0.02 0
Ver_evan_Kirche 0.26 0.16 0.19 0.19 0.11 0.07 0.02 0
Ver_Justiz 0.04 0.06 0.13 0.21 0.25 0.24 0.07 0
Ver_TV 0.08 0.13 0.21 0.33 0.18 0.05 0.01 0
Ver_Zeitung 0.05 0.09 0.18 0.30 0.26 0.11 0.01 0
Ver_Uni 0.01 0.02 0.05 0.17 0.29 0.34 0.12 0
Ver_Regierung 0.10 0.10 0.14 0.22 0.24 0.16 0.04 0
Ver_Polizei 0.02 0.04 0.08 0.18 0.28 0.30 0.10 0
Ver_Parteien 0.13 0.18 0.25 0.28 0.13 0.03 0.00 0
Ver_Kom_EU 0.13 0.14 0.19 0.26 0.19 0.08 0.02 0
Ver_EU_Par 0.13 0.14 0.18 0.25 0.19 0.09 0.02 0
5 Interpretation von Cronbach’s Alpha
Zur Einordnung der erhaltenen Skalen-Reliabilität, gehen wir von folgenden Cronbachs Alpha-Bereichen und ihrer Beurteilung aus:
- Werte <0,6: nicht akzeptabel
- 0,6 bis 0,7: akzeptabel, teilweise auch schon als grenzwertig klassifiziert
- 0,7 bis 0,8: gut, stellenweise auch nur als akzeptabel klassifiziert
- 0,8 bis 0,9: sehr gut
Hier findet ihr das auch nocheinmal zum Nachlesen.
6 Interpretation des Wirksamkeit-Indizes
Die Werte sind ein gutes Ergebnis. Die Items zeigen eine gute Inter-Item-Korrelation. Wir können noch nachschauen, ob wir die Skalen-Reliabilität verbessern können, indem wir einzelne Items herauswerfen. Denn der Output von Cronbachs Alpha gibt uns auch hilfreiche Aufschlüsse darüber, welche Items man evtl. ausschließen kann, um Cronbachs Alpha bei ungenügender Höhe noch auf ein mindestens akzeptables Maß zu heben. Diese Information findet sich im Bereich “Reliability if an item is dropped”:. In unserem Fall wird die reliabitlitä aber noch schlechter - wir können nichts mehr verbessern.
Entsprechend haben wir erfolgreich einen Index für die latente Variable Vertrauen in gesellschaftliche Institutionen gebildet. Wir haben eine theoretische Grundlage gefunden, diese empirisch anhand der Daten des Allbus mittels konfirmatorischen Faktorenanalyse geprüft und einen Summenindex berechnet, dessen Qualität wir mittels Cronbachs Alpha zeigen konnten.
Die Ergebnisse der Indexbildung werden meistens direkt im Text angegeben:
✅ die Art des gebildeten Index (Summenindex, etc.)
✅ Cronbachs Alpha
✅ Enthaltene Indikatoren
Das Format ist normalerweise:
Beispiel: Der Summenindex individuelle Identität umfasst fünf Indikatoren (Ziele und Befriedigung, Regeln und Verantwortung, Gefühle oder Emotionen, Verständnis der Welt, individuelle Identität im Allgemeinen; α = 0,84).
7 Danksagung und Literatur
Die Struktur und Inhalt dieser Seite orientiert sich an den folgenden Arbeiten. Ich möchte mich bei den Autor:innen sehr bedanken!
- Daniela Keller Link
- Field, A., Miles, J., & Field, Z. (2012). Discovering statistics using R. 749-811
Wir empfehlen euch folgende Lehrbücher, falls ihr weiterführende Informationen braucht.
📖 Cronbach, L (1951). Coefficient alpha and the internal structure of tests. Link
📖 Field, Z., Miles, J., & Field, A. (2012). Discovering statistics using R. Discovering statistics using r, 1-992. Link
📖 Döring, N., & Bortz, J. (2016). Forschungsmethoden und evaluation. Wiesbaden: Springerverlag. Link
Hier findet ihr ein Beispiel aus der Forschungspraxis:
🔬 Zerrer, P., & Engelmann, I. (2022). Users’ Political Motivations in Comment Sections on News Sites. International Journal of Communication, 16, 23. Link