Im пытается сделать факторный анализ с использованием R с вращением варимакса, но не успешным. Я запускаю те же точные данные по SAS и могу получить результат.факторный анализ с использованием R
в R, если я использую
fa(r=cor(m1), nfactors=8, fm="ml", rotate="varimax")
я получить
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
, если я использую
factanal(cor(m1), factors=8)
я получит
Error in solve.default(cv) :
system is computationally singular: reciprocal condition number = 4.36969e-19
Может ли кто-нибудь помочь мне, как успешно выполнить факторный анализ с использованием R. Спасибо.
Тк заранее
Обе функции показывают, что корреляционная матрица вырождена. Вы заглянули в документацию SAS, чтобы узнать, что делает функция в случае особых матриц? Возможно, у него есть какой-то способ обойти это, и именно по этой причине он дает результат. – Edwin
обновление, если я не задал коэффициентов <8, я могу получить правильные результаты – user1940902
из документа SAS «Квадратные множественные корреляции (SMC) каждой переменной со всеми другими переменными используются в качестве оценок предшествующей совокупности. Если ваша корреляция матрица единственная, вы должны указать PRIORS = MAX вместо PRIORS = SMC. " – user1940902