方法
1.データを作成・読み込む
Rで線形回帰分析のときのようにCSVを読んでもいいし
Rで主成分分析のときのように直接入力してもいい
ただし、CSVファイルは以下の点に注意
・1行目は、各項目の見出し(ないしは、header=FALSEで読み込む)
・行番号は、つけない
例
国語,算数,社会,理科
20,100,40,50
50,60,79,80
今回は、CSVで読み込んでみる
データ<-read.csv("読み込むCSVファイル",header=T)
2.まず、因子数を決定する
相関係数行列の固有値が1以上とかいうので、選びたい場合、
相関係数行列(cor(データ))の固有値(eigen(行列))をもとめ、
その値($value)を表示する。
eigen(cor(データ))$value
ただし、因子数は、上限がある
因子数≦(2*観測変数の個数+1-(8*観測変数の個数+1)^0.5)/2
3.因子数が決まったら、因子分析
factanal(データ,factors=決めた因子数,rotate="none")
rotate="none"だと、回転しない。
そうすると、因子負荷量がわかりにくいかもしれない。
ここでは、それより寄与率やp値をみて、因子数の妥当性を確認
ここのP値は、検定のときと違い、高いほうがいい
4.各因子の因子負荷量がわかりづらかったら、回転する
factanal(データ,factors=決めた因子数,rotate="varmax")
varmaxでも判りにくかったら・・
factanal(データ,factors=決めた因子数,rotate="promax")
5.それぞれの人(レコード)の因子得点をもとめる
factanal(データ,factors=決めた因子数,scores="Bartlett")$scores
トムソンの回帰推定法でやる場合は
factanal(データ,factors=決めた因子数,scores="regression")$scores
6.プロットしたい(散布図に出したい)場合
plot(factanal(データ,factors=決めた因子数,scores="Bartlett")$scores)
1.データを作成・読み込む
Rで線形回帰分析のときのようにCSVを読んでもいいし
Rで主成分分析のときのように直接入力してもいい
ただし、CSVファイルは以下の点に注意
・1行目は、各項目の見出し(ないしは、header=FALSEで読み込む)
・行番号は、つけない
例
国語,算数,社会,理科
20,100,40,50
50,60,79,80
今回は、CSVで読み込んでみる
データ<-read.csv("読み込むCSVファイル",header=T)
2.まず、因子数を決定する
相関係数行列の固有値が1以上とかいうので、選びたい場合、
相関係数行列(cor(データ))の固有値(eigen(行列))をもとめ、
その値($value)を表示する。
eigen(cor(データ))$value
ただし、因子数は、上限がある
因子数≦(2*観測変数の個数+1-(8*観測変数の個数+1)^0.5)/2
3.因子数が決まったら、因子分析
factanal(データ,factors=決めた因子数,rotate="none")
rotate="none"だと、回転しない。
そうすると、因子負荷量がわかりにくいかもしれない。
ここでは、それより寄与率やp値をみて、因子数の妥当性を確認
ここのP値は、検定のときと違い、高いほうがいい
4.各因子の因子負荷量がわかりづらかったら、回転する
factanal(データ,factors=決めた因子数,rotate="varmax")
varmaxでも判りにくかったら・・
factanal(データ,factors=決めた因子数,rotate="promax")
5.それぞれの人(レコード)の因子得点をもとめる
factanal(データ,factors=決めた因子数,scores="Bartlett")$scores
トムソンの回帰推定法でやる場合は
factanal(データ,factors=決めた因子数,scores="regression")$scores
6.プロットしたい(散布図に出したい)場合
plot(factanal(データ,factors=決めた因子数,scores="Bartlett")$scores)