Mittwoch, 15. Juni 2011

Faktorenanalyse mit R

Um Faktorenanalysen mit R zu berechnen, wie man sie von SPSS her gewohnt ist, muss man zunächst das Zusatzpaket "Psych" installiert. Das Paket kann bei CRAN heruntergeladen werden: http://cran.r-project.org/web/packages/psych/index.html

In diesem Beispiel sollen die Items eines IQ-Tests faktoranalytisch untersucht werden. Im ersten Schritt erstellen wir ein neues Objekt (Tabelle), das nur die Items enthält.

Items<-IQDaten[c(11:69)]


Erläuterung: In dem Datendatz IQDaten befinden sich neben den Items auch noch weitere Variablen wie Geschlecht und Alter. Mit 11:69 werden die Variablen 1 bis 69 kombiniert, Funktion c, und der neuen Tabelle Items zugewiesen.

Im zweiten Schritt soll ein Screeplot erstellt werden, um zu ermitteln, wie viele Faktoren sich sinnvollerweise extrahieren lassen. Der R-Befehl des Zusatzpakets "psych" lautet fa.parallel. Doch bevor wir diesen Befehl verwenden können, muss das Zusatzpaket zunächst geladen werden:

library("psych")
fa.parallel(Items) 

Als Ergebnis wird ein Screeplot ausgegeben, der gleichzeitig eine Parallelanalyse (siehe Wikipedia) erlaubt. Der Screeplot legt nahe, dass vier Faktoren zu extrahieren sind.


Im dritten Schritt wird die eigentliche Faktorenanalyse gerechnet:

fa(ItemsAll,nfactors=4,rotate="varimax",scores=TRUE,fm="minres")


Mit nfactors wird die Anzahl der Faktoren auf vier festgelegt. Mit rotate="varimax" wird eine rotierte Lösung angefordert, wobei die Faktorladungen ausgegeben werden sollen (scores=TRUE). Zum finden der Lösung werden die Residuen minimiert (minimum residual = minres).

Um die Ergebnisse auch als Grafik anzuzeigen oder die Ladungen zu sortieren, wird zunächst ein neues Objekt mit den Ergebnissen erstellt. Mit Hilfe des Print-Befehls wird die Ausgabe formatiert und der Plot-Befehlt erzeugt eine grafische Darstellung der Faktorladungen

Ergebnis<-fa(ItemsAll,nfactors=4,rotate="varimax",scores=TRUE,fm="minres")
print(Ergebnis,sort=TRUE,digits=2,cutoff=0.01)
plot(Ergebnis)

Keine Kommentare:

Kommentar veröffentlichen