Rで因子分析:psychパッケージ

psychパッケージによる因子分析が便利だ。便利になった、というべきか。
Rのデフォルトでは、factanal関数で因子分析をするよう解説してあることがほとんどだが、psychパッケージでは(今年6月の改訂、ver1.0.71以降)、様々な分析方法に対応した。

オプションmlの設定について、ヘルプにこうある。

factoring method fm=”minres” will do a minimum residual (OLS), fm=”wls” will do a weighted least squares (WLS) solution, fm=”gls” does a generalized weighted least squares (GLS), fm=”pa” will do the principal factor solution, fm=”ml” will do a maximum likelihood factor analysis

つまり、残差を最小にするminres解、重み付き最小二乗法(WLS)、一般化された最小二乗法(GLS)、主因子法(PA)、最尤法(ML)の五つ。

回転も色々選べる。バリマックス、クォーティマックス、ジオミン、プロマックス、オブリミン他。

これは便利だね。

念のため、利用方法を書いておく。ライブラリを読み込み、三因子を仮定したGLSで、因子得点も推定させる。出力は0.3以下の負荷量をカットオフして、ソートもかける、という設定例。

library<span class="synSpecial">(</span>psych<span class="synSpecial">)</span>
result <span class="synStatement">&lt;-</span> fa<span class="synSpecial">(</span>data<span class="synSpecial">,</span>nfactors=<span class="synConstant">3</span><span class="synSpecial">,</span>fm=<span class="synConstant">&quot;gls&quot;</span><span class="synSpecial">,</span>digits=<span class="synConstant">3</span><span class="synSpecial">,</span>scores=<span class="synConstant">TRUE</span><span class="synSpecial">)</span>
print<span class="synSpecial">(</span>result<span class="synSpecial">,</span>digits=<span class="synConstant">3</span><span class="synSpecial">,</span>cut=<span class="synConstant">0.3</span><span class="synSpecial">,</span>sort=<span class="synConstant">TRUE</span><span class="synSpecial">)</span>