Ich habe dichotome Daten, nur binäre Variablen, und mein Chef hat mich gebeten, eine Faktorenanalyse unter Verwendung der tetrachorischen Korrelationsmatrix durchzuführen. Ich habe mir zuvor selbst beigebracht, wie man verschiedene Analysen basierend auf den Beispielen hier und auf der Statistik-Site der UCLA und ähnlichen Sites durchführt, aber ich kann anscheinend keinen Schritt durch ein Beispiel einer Faktoranalyse zu dichotom finden Daten (binäre Variablen) mit R.
Ich habe chl Antwort auf eine etwas simular Frage und ich sah auch Antwort ttnphns , aber ich bin auf der Suche nach etwas noch buchstabiert , einen Schritt durch ein Beispiel , das ich arbeiten kann.
Kennt jemand hier einen solchen Schritt durch ein Beispiel einer Faktoranalyse für binäre Variablen mit R?
Update 2012-07-11 22: 03: 35Z
Ich möchte auch hinzufügen, dass ich mit einem etablierten Instrument arbeite, das drei Dimensionen hat, zu dem wir einige zusätzliche Fragen hinzugefügt haben, und wir hoffen nun, vier verschiedene Dimensionen zu finden. Darüber hinaus beträgt unser Stichprobenumfang nur , und wir haben derzeit 19 Artikel. Ich habe unsere Stichprobengröße und die Anzahl unserer Artikel mit einer Reihe von Artikeln aus der Psychologie verglichen und wir befinden uns definitiv im unteren Bereich, aber wir wollten es trotzdem versuchen. Dies ist jedoch für das von mir gesuchte Step-through-Beispiel nicht wichtig, und das folgende Beispiel für Caracal sieht wirklich fantastisch aus. Ich werde mich morgens als erstes mit meinen Daten durcharbeiten.
quelle
Antworten:
Ich gehe davon aus, dass der Fokus der Frage weniger auf der theoretischen als vielmehr auf der praktischen Seite liegt, dh wie eine Faktorenanalyse dichotomer Daten in R implementiert werden kann.
Simulieren wir zunächst 200 Beobachtungen aus 6 Variablen, die aus 2 orthogonalen Faktoren stammen. Ich werde ein paar Zwischenschritte machen und mit multivariaten normalen kontinuierlichen Daten beginnen, die ich später dichotomisiere. Auf diese Weise können wir Pearson-Korrelationen mit polychromen Korrelationen vergleichen und Faktorladungen aus kontinuierlichen Daten mit denen aus dichotomen Daten und den wahren Ladungen vergleichen.
Simulieren Sie nun die tatsächlichen Daten aus dem Modell , wobei x die beobachteten Variablenwerte einer Person sind ,, die wahre Belastungsmatrix,x=Λf+e x Λ f e
Führen Sie die Faktoranalyse für die kontinuierlichen Daten durch. Die geschätzten Belastungen sind ähnlich wie die wahren, wenn das irrelevante Vorzeichen ignoriert wird.
Nun wollen wir die Daten dichotomisieren. Wir werden die Daten in zwei Formaten speichern: als Datenrahmen mit geordneten Faktoren und als numerische Matrix.
hetcor()
from packagepolycor
gibt uns die polychrone Korrelationsmatrix, die wir später für die FA verwenden werden.Verwenden Sie nun die polychrone Korrelationsmatrix, um eine reguläre FA durchzuführen. Beachten Sie, dass die geschätzten Ladungen denen aus den kontinuierlichen Daten ziemlich ähnlich sind.
Sie können den Schritt der Berechnung der polychromen Korrelationsmatrix selbst überspringen und direkt
fa.poly()
aus dem Paket verwendenpsych
, was letztendlich dasselbe bewirkt. Diese Funktion akzeptiert die dichotomen Rohdaten als numerische Matrix.BEARBEITEN: Für Faktorwerte schauen Sie sich das Paket an,
ltm
das einefactor.scores()
Funktion speziell für polytome Ergebnisdaten hat. Ein Beispiel finden Sie auf dieser Seite -> "Faktor-Scores - Fähigkeitsschätzungen".Sie können die Belastungen aus der Faktoranalyse mit
factor.plot()
undfa.diagram()
aus dem Paket visualisierenpsych
. Aus irgendeinem Grundfactor.plot()
akzeptiert nur die$fa
Komponente des Ergebnisses ausfa.poly()
, nicht das vollständige Objekt.Die parallele Analyse und eine "sehr einfache Struktur" -Analyse helfen bei der Auswahl der Anzahl der Faktoren. Wieder paketieren
psych
die erforderlichen Funktionen.vss()
Nimmt die polychrone Korrelationsmatrix als Argument.Parallele Analyse für polychrone FA ist ebenfalls im Paket enthalten
random.polychor.pa
.Beachten Sie, dass die Funktionen
fa()
undfa.poly()
viele weitere Optionen zum Einrichten des FA bieten. Außerdem habe ich einen Teil der Ausgabe herausgeschnitten, der Passungstests usw. enthält. Die Dokumentation für diese Funktionen (und das Paketpsych
im Allgemeinen) ist ausgezeichnet. Dieses Beispiel soll Ihnen nur den Einstieg erleichtern.quelle
psych
es irgendwie, Faktor-Scores zu schätzen , wenn poly / tetra-chorische Korrelationen anstelle der üblichen Pearson- Werte verwendet werden?psych
einen Grund dafür, dass wir uns mit tetrachorischem r befasst haben, nicht mit gewöhnlichem r, wenn es Faktor-Scores berechnet, oder nicht?nearcor()
fromsfsmisc
odercor.smooth()
frompsych
verwendet.psych
's betrachtetfactor.scores()
, ist dies nicht der Fall. Stattdessen werden die Ergebnisse genau wie im kontinuierlichen Fall berechnet. Diefactor.scores()
im Paket enthaltene Funktionltm
scheint jedoch die richtigen Verfahren zu implementieren. Siehe hierzu das Beispiel -> "Faktor-Scores - Fähigkeitsschätzungen" und die Hilfeseite.