統計分析入門(1)

数式ナシの統計入門

講師:横山詔一(国立国語研究所)

CHJ活用WS2019_数式ナシ統計入門0810.pdf

データダウンロード


例題4.txt

# 【Excel.csvファイルを読み込んで「データ」と命名する】
# ---------------------------------------------------------
# 最初の重要な儀式:ファイルがあるディレクトリを指定すること!
# 
# head=T:ファイルの1行目は「変数(特徴量)の名前」
# row.names=1:ファイルの1列目は「行(ケース)の名前」
# ---------------------------------------------------------
 データ=read.csv('例題4.csv',head=T,row.names=1)
 データ

# 【主成分分析(PCA)を実行し,結果を「PCA結果」と命名する】
# ---------------------------------------------------------
# 「princomp」は「prcomp」よりも制約が多い:以下「prcomp」をつかう
# 
# scale=T:データを標準化する(平均を0,標準偏差を1にそろえる)
# 理由:特徴量の単位をそろえるため(相関行列を分析に投入)
#
# 軸の回転ができない(軸の解釈が困難になるリスクあり):SPSSは可能
# 主成分負荷量や主成分得点の出力がSPSSと一致しない:後でも述べる
# --------------------------------------------------------- 
 PCA結果=prcomp(データ,scale=T)

# 【説明率を表示し,主成分の数を決定する際に参照する:論文に明記】
# ---------------------------------------------------------
# 固有値は表示されない:SPSSは出力
# ---------------------------------------------------------
 summary(PCA結果)

#【固有値も必要なので計算して表示:論文に明記】
# ---------------------------------------------------------
# SPSSと一致する
# --------------------------------------------------------- 
 固有値=PCA結果$sdev^2
 固有値

# 【各主成分の固有値の平方根と主成分負荷量を表示する】
# ---------------------------------------------------------
# 固有値の平方根は標準偏差(SD)
# 主成分負荷量はSPSSと一致しない
# 主成分得点は表示されない
# ---------------------------------------------------------
 PCA結果

# 【主成分得点を表示する】
# ---------------------------------------------------------
# SPSSと一致しない
# --------------------------------------------------------- 
 主成分得点=PCA結果$x
 主成分得点

# 【分析結果を2次元平面に布置する】
# ---------------------------------------------------------
# 2次元空間での布置を示す
# 主成分負荷量と主成分得点を重ねて図示する
# SPSSの結果とはやや異なるが,相対的な位置関係は同じ
# --------------------------------------------------------- 
 biplot(PCA結果)

# 【SPSSと一致する主成分負荷量を表示する:論文に明記】
# --------------------------------------------------------- 
# 各主成分の標準偏差SD(固有値の平方根)を主成分負荷量に掛け算する
# --------------------------------------------------------- 
 負荷量=t(t(PCA結果$rotation)*PCA結果$sdev) 
 負荷量

# 【SPSSと一致する主成分得点を表示する:論文に明記】
# ---------------------------------------------------------
# 主成分得点を標準化する(単位をそろえる)
# scale:平均0,標準偏差1になるよう変換する
# ---------------------------------------------------------
 主成分得点_標準化=scale(主成分得点)
 主成分得点_標準化

# 【SPSSと一致する主成分負荷量を「負荷量」というファイルに出力】
# ---------------------------------------------------------
# row.names=T:ファイルの1列目は「行の名前」
# ---------------------------------------------------------
 write.csv(負荷量,"負荷量.csv",row.names=T)
 
# 【SPSSと一致する主成分得点を「主成分得点_標準化」というファイルに出力】
# ---------------------------------------------------------
# row.names=T:ファイルの1列目は「行の名前」
# ---------------------------------------------------------
 write.csv(主成分得点_標準化,"主成分得点_標準化.csv",row.names=T)

# これで完了,おつかれさまです
例題4