R でいくつかの Stata の結果を複製しようとしていますが、多くの問題が発生しています。具体的には、Stata が探索的因子分析で行うのと同じ固有値を回復したいと考えています。具体的な例を挙げると、factor
Stata のヘルプはbg2
データ (医師の費用に関するもの) を使用し、次の結果を示します。
webuse bg2
factor bg2cost1-bg2cost6
(obs=568)
Factor analysis/correlation Number of obs = 568
Method: principal factors Retained factors = 3
Rotation: (unrotated) Number of params = 15
--------------------------------------------------------------------------
Factor | Eigenvalue Difference Proportion Cumulative
-------------+------------------------------------------------------------
Factor1 | 0.85389 0.31282 1.0310 1.0310
Factor2 | 0.54107 0.51786 0.6533 1.6844
Factor3 | 0.02321 0.17288 0.0280 1.7124
Factor4 | -0.14967 0.03951 -0.1807 1.5317
Factor5 | -0.18918 0.06197 -0.2284 1.3033
Factor6 | -0.25115 . -0.3033 1.0000
--------------------------------------------------------------------------
LR test: independent vs. saturated: chi2(15) = 269.07 Prob>chi2 = 0.0000
表の最初の列の固有値に興味があります。R で同じデータを使用すると、次の結果が得られます。
bg2 = read.dta("bg2.dta")
eigen(cor(bg2)
$values
[1] 1.7110112 1.4036760 1.0600963 0.8609456 0.7164879 0.6642889 0.5834942
ご覧のとおり、これらの値は Stata の結果とはかなり異なります。2 つのプログラムは固有値の計算に異なる手段を使用している可能性がありますが、 R コマンドfa
のオプションのほとんど (すべてではないにしても) を含め、さまざまな固有値の抽出方法を試しました。他のいくつかの R コマンド。Stata と同じ固有値を抽出することはできません。また、Stata のマニュアルを読んで、Stata が使用する方法を正確に把握しようとしましたが、十分に具体的に把握できませんでした。factanal
principal
どんな助けでもいいです!質問に答えるために追加情報が必要な場合はお知らせください。