今回はRを利用した分析に関する非常に細かい話です。
因子分析とは
因子分析は、ある個人・対象について、複数の指標で計測を行った場合に、それらの指標を上手に要約する方法の1つです。例えば、ある学校のある学年の生徒に国語・算数・理科・社会のテストを実施したとします。生徒一人ひとりに各教科の得点が記録されている状況です。もちろん各教科ごとにみていけば良いのですが、4つの科目の成績を因子分析によって1つに要約し、いわゆる「学力」のようなものを考えることができます。この「学力」のように、要約された変数(因子と呼びます)は、それを実際に測るわけではないところが、少しわかりにくいかもしれません。また、単純なテスト得点の合計であれば、強化ごとの重み付けを考える必要がありませんが、因子分析では、因子が各指標に対してどの程度影響を持っているか *1の重み付けを計算しています。これが因子負荷です。
Rのfactanal関数で因子分析
因子分析をR言語で行う場合は、factanal関数が利用できます。引数として複数の指標のデータテーブル、因子数、回転方法を指定します。以下の例ではdataset*2というデータテーブルに対して因子数2, 因子の回転方法としてpromax法を指定した書き方を示しています。
res.factanal <- factanal(dataset, factors = 2, rotation = "promax")
因子負荷行列の負荷量の値を全て表示したい
factanal関数の結果はprint関数で表示できます。ただしこの時、因子負荷量が0.1未満の値は非表示となるようにデフォルトが設定されています。実際に見てみると表示がない値が気になるだけでなく、非表示があることで見にくくなります。これを避けるには、結果を表示する際のprint関数にcutoffという引数を値0を代入して加えます。これで全ての因子負荷量が表示され、結果として、表全体も見やすくなります。
print(res.factanal, cutoff = 0)