1

R でいくつかの Stata の結果を複製しようとしていますが、多くの問題が発生しています。具体的には、Stata が探索的因子分析で行うのと同じ固有値を回復したいと考えています。具体的な例を挙げると、factorStata のヘルプは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 が使用する方法を正確に把握しようとしましたが、十分に具体的に把握できませんでした。factanalprincipal

どんな助けでもいいです!質問に答えるために追加情報が必要な場合はお知らせください。

4

1 に答える 1