Ich versuche, eine Faktoranalyse mit R mit Varimax-Rotation zu tun, aber nicht erfolgreich. Ich führe die gleichen Daten über SAS und kann das Ergebnis erhalten.Faktoranalyse mit R
in R, wenn ich
fa(r=cor(m1), nfactors=8, fm="ml", rotate="varimax")
verwenden werde ich
In smc, the correlation matrix was not invertible, smc's returned as 1s
In smc, the correlation matrix was not invertible, smc's returned as 1s
Error in optim(start, FAfn, FAgr, method = "L-BFGS-B", lower = 0.005, :
L-BFGS-B needs finite values of 'fn'
In addition: Warning messages:
1: In cor.smooth(R) : Matrix was not positive definite, smoothing was done
2: In cor.smooth(R) : Matrix was not positive definite, smoothing was done
3: In log(e) : NaNs produced
, wenn ich
factanal(cor(m1), factors=8)
verwenden werde ich bekommen
Error in solve.default(cv) :
system is computationally singular: reciprocal condition number = 4.36969e-19
Kann mir jemand helfen, wie man die Faktoranalyse erfolgreich mit R macht. Danke.
Tq im Voraus
Beide Funktionen zeigen, dass die Korrelationsmatrix singulär ist. Haben Sie in die SAS-Dokumentation geschaut, um zu sehen, was die Funktion bei singulären Matrizen macht? Vielleicht hat es einen Weg, um es zu umgehen, und das ist der Grund, warum es eine Ausgabe gibt. – Edwin
ein Update, wenn ich keinen der Faktoren <8 setze, kann ich die korrekten Ergebnisse erhalten – user1940902
von SAS doc "Die quadrierten multiplen Korrelationen (SMC) jeder Variablen mit allen anderen Variablen werden als die vorherigen Gemeinsamkeiten geschätzt. Wenn Ihre Korrelation Matrix ist singulär, Sie sollten PRIORS = MAX anstelle von PRIORS = SMC angeben. " – user1940902