1

I am running a factor analysis via psych package.

cormat <- polychoric(na.omit(mself1))
##Warning message:
In cor.smooth(mat) : Matrix was not positive definite, smoothing was done
fa(cormat,nfactors=3,n.obs = 183 ,n.iter=1, rotate="oblimin",fm="ml")
## Error in if (dim(r)[1] == dim(r)[2]) { : argument is of length zero

I just wondered why the argument is of length zero which means the file is empty, when I type cormat the Polychoric matrix came out.

How could I fix this problem, or it has anything with the "not positive definite"?

Thanks!

4

1 に答える 1

0

psychパッケージは、 cormatオブジェクトの $rho に実際の行列を格納します。あなたの場合、fa(cormat$rho)その問題を修正します。Bill にはfa.poly()、因子分析を実行する前に生データ行列からポリコリック相関を計算する関数も含まれています。

ただし、結果には少し注意してください。結果の行列は非ガミアン (つまり、負の固有値を持つ) でした。これは、ペアごとに推定された場合、または大きなサンプリング エラーがある場合に発生する可能性があります (Garrido, Abad, & Ponsosa, 2013 を参照)。

于 2014-04-24T22:40:55.617 に答える