R による主成分分析と因子分析

prcomp() コマンドを使い、主成分分析を行う。また、factanal() コマンドを使い、因子分析を行う。

通常は Excel 等で作成した CSV ファイルを R に読み込んで分析する。しかし、ここでは便宜的に以下の簡単なデータフレームを作成し、data という変数に格納しておく。データが数値データのみの場合、データフレームを行列に変換しなくてもそのまま分析できる。

data = data.frame(手術時間 = c(60,50,100,90,30,40,80,90), 出血量 = c(15,100,90,20,18,20,120,90), 結紮失敗回数 = c(0,1,2,3,2,1,5,1))

data の内容を確認する。

data

prcomp() コマンドを使い、主成分分析を行う。

PCA = prcomp(data, scale = TRUE) #scale = TRUE でデータを標準化
PCA #固有ベクトルの表示
summary(PCA) #寄与率、累積寄与率の表示
PCA$x #主成分得点の表示
biplot(PCA) #結果の図示

princomp() コマンドを使っても、主成分分析を行えるが、prcomp()コマンドとは結果が微妙に異なる。

cor() コマンドとeigen() コマンドを使って固有値と固有ベクトルを表示することもできる。

eigen(cor(data))$values #固有値
eigen(cor(data))$vectors #固有ベクトル

factanal() コマンドを使い、因子分析を行う。ここでは因子数は 1としている。デフォルトで Varimax 回転が選択されている。

factanal(data,1)