Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the pods domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/haim/datenanalyse/wp-includes/functions.php on line 6114
Indexbildung – Datenanalyse mit R

Indexbildung

Indizes

Indizes sind aggregierte bzw. zusammengefasste Variablen, in die Informationen aus Indikatoren (in Form von Einzelvariablen) einfließen. Sie werden häufig verwendet, wenn eine einzelne Variable ein Phänomen zu ungenau oder zu wenig aussagekräftig misst.

Häufig werden Mittelwertindizes verwendet. Diese werden einfach aus dem Mittelwert aller Indikatoren errechnet.
Gelegentlich kommen auch summative Indizes (auch Summenindizes genannt) zum Einsatz, bei denen die Werte aller Indikatoren aufsummiert werden.

Reliabilitätsanalyse

Im Umfeld der Indexbildung ist die Reliabilitätsanalyse ein Maß für die interne Konsistenz eines Indexes. Die Reliabilität bzw. Zuverlässigkeit bemisst die Stärke des Zusammenhangs zwischen den einzelnen Indikatoren. Die Reliabilität von Indizes wird deshalb auch als „Inter-Item-Korrelation“ bezeichnet.

Achtung Unterschied: Im Umfeld der Inhaltsanalyse wird der Begriff „Reliabilitätsanalyse“ anders verwendet. Die Reliabilität ist dort ein Maß für die Zuverlässigkeit einer Messung und damit ein erstes Indiz für die Validität einer Studie. Es werden die Intercoderreliabilität, Intracoderreliabilität und Forschenden-Codierenden-Reliabilität unterschieden, siehe dazu die Seite zu Reliabilitätsanalysen bei Inhaltsanalysen.

Reliabilitätsmaß

Die Reliabilität wird innerhalb der Reliabilitätsanalyse beziffert. Dazu verwendet man überlicherweise ein Cronbachs 𝛼, ein von Lee Cronbach (1951) eingeführtes Reliabilitätsmaß.

\alpha=\frac{N}{N-1}\cdot \left(1-\frac{\sum_{i=1}^N {\sigma_{Y_{i}}^2}}{\sigma_X^2} \right) \qquad mit \qquad X=\sum_{i=1}^N  Y_{i}
N: Anzahl\  der \ Items\\ 
\sigma_X^2: Varianz\   der\   beobachteten\   Gesamttestscores \\
\sigma_{Y_{i}}^2: Varianz\   des\   Items\   i\   für\   die\   aktuelle\   Stichprobe\   von\   Personen\\

Wertebereich

Cronbachs 𝛼 kann Werte zwischen -1 und 1 annehmen.

Interpretationskonvention

Werte von 𝛼 > 0,7 gelten als akzeptabel, um eine Indexbildung zu rechtfertigen.
Ein 𝛼 > 0,8 verweist auf eine gute Reliabilität.

Indexerstellung mit R

Das tidycomm-Package beinhaltet auch schnelle Lösungen für Mittelwert- und Summenindizes von Variablen. Sie können einfach berechnet und zum Datensatz hinzugefügt werden. Diese lassen sich in einem zweiten Schritt hinsichtlich ihrer Reliabilität überprüfen.

Dafür bieten sich zwei Schlüsselfunktionen an:

  • add_index()
  • get_reliability()

add_index()

Die Funktion add_index() fügt einen Mittelwert- oder – mit leichter Anpassung – einen Summenindex der angegebenen Variablen zu den Daten hinzu. Das zweite Argument (oder das erste, wenn es in einer Pipe verwendet wird) ist der Name der zu erstellenden Indexvariablen. Wenn beispielsweise ein Mittelwertindex mit dem Namen „ethical_concerns“ unter Verwendung der Variablen „ethics_1“ bis „ethics_4“ aus dem WoJ-Datensatz erstellt werden soll, kann folgender Code verwendet werden.

Befehl:

WoJ %>%
  add_index(ethische_Bedenken, ethics_1, ethics_2, ethics_3, ethics_4)

Ausgabe:

R gibt nach diesem Befehlt einen Überblick über die Daten aus, der etwa folgendermaßen aussieht. In diesem Fall sieht man den erstellten Index ethische Bedenken in der Vorschau noch nicht. Einen Hinweis, dass die Berechnung geklappt hat, findet man jedoch in der drittletzten Zeile: Dort wird der neue Index bei den weiteren Variablen angeführt. (Aber Achtung: In der aktuellen Form ist der Index noch nicht in den Daten gespeichert, sondern über den obigen Befehl lediglich einmalig erstellt.)

# A tibble: 1,200 × 16
   country     reach    employment temp_contract
 * <fct>       <fct>    <chr>      <fct>        
 1 Germany     National Full-time  Permanent    
 2 Germany     National Full-time  Permanent    
 3 Switzerland Regional Full-time  Permanent    
 4 Switzerland Local    Part-time  Permanent    
 5 Austria     National Part-time  Permanent    
 6 Switzerland Local    Freelancer NA           
 7 Germany     Local    Full-time  Permanent    
 8 Denmark     National Full-time  Permanent    
 9 Switzerland Local    Full-time  Permanent    
10 Denmark     National Full-time  Permanent    
# ... with 1,190 more rows, 5 more variables: trust_parliament <dbl>,
#   trust_government <dbl>, trust_parties <dbl>, trust_politicians <dbl>,
#   ethische_Bedenken <dbl>, and abbreviated variable names 1: employment,
#   2: temp_contract, 3: autonomy_selection, 4: autonomy_emphasis, 5: ethics_1,
#   6: ethics_2, 7: ethics_3, 8: ethics_4, 9: work_experience

Möchte man von der Standardeinstellung des Mittelwertindizes abweichen und einen Summenindex erstellen, so muss ein Argument angepasst werden. Per Default steht das Argument type auf dem Wert "mean" (und kann daher im obigen Beispiel ausgelassen werden, man könnte es aber auch explizit hinzufügen). Indem man type gleich "sum" setzt, kann ein Summenindex errechnet werden.

Befehl:

WoJ %>%
  add_index(ethische_Bedenken, ethics_1, ethics_2, ethics_3, ethics_4, type = "sum")

Speicherung des Indizes

Um den jeweiligen Index auch für weitere Schritte verfügbar zu halten, wird er in den ursprünglichen Datensatz gespeichert, indem man ihn dem Datensatz per Zuordnungspfeil (<-) zuweist.

Befehl:

WoJ <- WoJ %>%
  add_index(ethische_Bedenken, ethics_1, ethics_2, ethics_3, ethics_4)

get_reliability()

Die Funktion get_reliability() berechnet Schätzungen der Reliabilität für Indizes, die mit add_index() erstellt wurden. Die Funktion gibt Cronbachs α zusammen mit Deskriptiven Informationen und einem Überblick über die im Index eingeschlossenen Variablen aus.

Befehl:

#Zuvor wurden im WoJ-Datensatz mit add_index Indizes erstellt
WoJ %>%
  get_reliability(ethische_Bedenken)

Ausgabe:

# A tibble: 1 × 5
  Index             Index_of                                   M    SD Cronbachs_Alpha
* <chr>             <chr>                                  <dbl> <dbl>           <dbl>
1 ethische_Bedenken ethics_1, ethics_2, ethics_3, ethics_4  2.45 0.777           0.612

Wenn der Funktion keine weiteren Argumente übergeben werden, berechnet sie standardmäßig automatisch Reliabilitätsschätzungen für alle mit add_index() erstellten Indizes, die in den Daten gefunden werden.

Befehl:

#Zuvor wurden im WoJ-Datensatz mit add_index Indizes erstellt
WoJ %>% get_reliability()

Ausgabe:

Ausgabe:
# A tibble: 1 × 5
  Index             Index_of                                   M    SD Cronbachs_Alpha
* <chr>             <chr>                                  <dbl> <dbl>           <dbl>
1 ethische_Bedenken ethics_1, ethics_2, ethics_3, ethics_4  2.45 0.777           0.612

Über optionale Argumente/Parameter kann die Funktion an speziellere individuelle Zwecke angepasst werden. Folgender Befehl ist äquivalent zu oben.

Befehl:

#Zuvor wurden im WoJ-Datensatz mit add_index Indizes erstellt
get_reliability( 
  WoJ,                       # Entspricht hier data
  ethische_Bedenken,         # Mit add_index erstellte Indexvariablen. Leer lassen, um Zuverlässigkeitsschätzungen für alle Indexvariablen zu erhalten.
  type = "alpha",            # Art der Zuverlässigkeitsschätzung: 
                               #  "alpha" oder 1 für den Koeffizienten Alpha, der nach der von Cronbach (1951) vorgeschlagenen Formel analysiert wird, 
                               #  "alpha-cfa" oder 2 für den Koeffizienten Alpha, der nach CFA mit Tau-Äquivalenz analysiert wird. 
                               #  "omega" für den Koeffizienten Omega, 
                               #  "hierarchisch" für hierarchisches Omega, 
                               #  "kategorisch" für kategorisches Omega. 
                               #  Wenn als Typ NULL angegeben wird, wird standardmäßig hierarchisches Omega für kontinuierliche Items und kategorisches Omega für kategoriale Items verwendet. Der Standardwert ist jedoch einfach "omega".
  interval.type ="none",     # Zur Ermittlung des Konfidenzintervalls verwendete Methode
  bootstrap.samples = NULL,  # Anzahl der Bootstrap-Stichproben für die Konfidenzintervall-Berechnung. 
  conf.level = 0.95,         # Konfidenzniveau für die Schätzung des Konfidenzintervalls. 
  progress = FALSE           # Fortschrittsanzeige für die Berechnung der Zuverlässigkeitsschätzung. Nützlich bei rechenintensiven Berechnungen (z. B. bei vielen Bootstrap-Stichproben) und vielen Indexvariablen.
)

Ausgabe:

# A tibble: 1 × 5
  Index             Index_of                                   M    SD Cronbachs_Alpha
* <chr>             <chr>                                  <dbl> <dbl>           <dbl>
1 ethische_Bedenken ethics_1, ethics_2, ethics_3, ethics_4  2.45 0.777           0.612

Referenzen

Cronbach, L. J. (1951). Coefficient alpha and the internal structure of tests. Psychometrika, 16, 297-334. https://doi.org/10.1007/BF02310555