きわめて個人的なR言語のメモ

2004-09-28Rで因子分析その5 変数選択をして主因子法で

変数選択

では、「二塁打」「死球」「犠飛」の変数をデータから削除してしまいます。

baseball[[3]] <- NULL
baseball[[7]] <- NULL
baseball[[8]] <- NULL

これで、「二塁打」「犠飛」「死球」のデータが取り除かれました。

(ここはもっとスマートなやり方がありそうに思うので、ご存知の方がいらっしゃったら教えてください。)

再度分析

では、もう一度分析します。

result <- pfa(baseball)
fl.matrix.out(result)

アウトプットは

After Varimax rotation
        Fac001 Fac002 Communality
 Var001 -0.064 -0.642  0.416
 Var002 -0.088 -0.672  0.460
 Var003  0.520 -0.230  0.324
 Var004 -0.873 -0.105  0.773
 Var005 -0.466 -0.317  0.317
 Var006 -0.434 -0.100  0.198
 Var007  0.672  0.016  0.452
 Var008  0.547 -0.555  0.607
 Sq.Sum  2.200  1.347
  Cont.   27.5   16.8
   Cum.   27.5   44.3

書き直すと、

因子1 因子2 共通性

------------------------------

試合数 -0.06 -0.64 0.42

安打 -0.09 -0.67 0.46

三塁打 0.52 -0.23 0.32

本塁打 -0.87 -0.11 0.77

三振 -0.47 -0.32 0.32

四球 -0.43 -0.10 0.20

犠打 0.67 0.02 0.45

盗塁 0.55 -0.56 0.61

-----------------------------

固有値 2.20 1.35

寄与率 27.5 16.8

累積 27.5 44.3

うーん、マイナスの因子負荷量が多いので解釈が難しいですが……

バッターのタイプには3種類存在するなどを参考にして考えると、因子1はホームランよりも三振を少なくしボールにバットを上手く当てることを重視する「アベレージヒッター因子」、因子2はホームランを多く打ち、フルスイングをするので三振は多くなる「パワーヒッター因子」といったところでしょうか。

なお、因子得点は

result$scores

とすれば出てきます。

もとデータの選手の名前に対応させて散布図を描けば、選手のタイプ分けも出来るでしょう。もちろん、クラスタ分析にかけることも出来ます。

(本当はRでもそこまで出来るはずですが、私の勉強不足でやり方がよくわかんないです。すいません)

トラックバック - http://r-user.g.hatena.ne.jp/bob3/20040928