2013/10/29, kameda[at]iit.tsukuba.ac.jp 2012/10/12, kameda[at]iit.tsukuba.ac.jp http://www.kameda-lab.org/lecture/2012-tsukubagrad-PRML/index-j.html Rの使い方に関する簡単な説明 <参考資料> Rの利用法 cse.naro.affrc.go.jp/takezawa/r-tips/r.html セクション:13, 19, 47, 48, 49, 74 PCAについて http://ja.wikipedia.org/wiki/%E4%B8%BB%E6%88%90%E5%88%86%E5%88%86%E6%9E%90 http://ja.wikipedia.org/wiki/主成分分析 英語のほうが断然詳しいです http://en.wikipedia.org/wiki/Principal_component_analysis <実行> Casper Cartridge (Ver.5.05)での実行例です。 http://www.kameda-lab.org/casper/index-j.html $ cd GoGoCasper/R/PCA $ R ★RではTABで補完が効きます。 ★入力 seiseki <- read.csv("seiseki.csv", header=T) ★スケーリングしてPCA実施(この1行で終了) result <- prcomp(seiseki, scale=T) ★resultオブジェクト変数を表示 result ★resultオブジェクト変数を概観 summary(result) ★主成分ベクトル round(result$rotation, 3) ★作図(全体) biplot(result) ★result$xの第1、第2変数のみで(PC1,PC2のみで)描画。 ★これで範囲を知る。(-6,6), (-3,3)ぐらい? plot(result$x) ★ないし真面目にやるなら; max(result$x[,1]) ... よこ max(result$x[,2]) ... たて min(result$x[,1]) min(result$x[,2]) でもOK. ★1〜100番目までが青クラスだとして表示。 plot(result$x[ 1:100,], col="blue", xlim=c(-6,6), ylim=c(-3,3)) ★今の作図に次の作図を重ねることを宣言。 par(new=T) ★101〜166番目までが赤くらすだとして表示。 plot(result$x[101:166,], col="red", xlim=c(-6,6), ylim=c(-3,3)) ★作図結果を保存 dev.copy(png, file="seiseki-chart000.png") dev.list() dev.off() ... 最後のデバイスを閉じる,ないしはlistの最後の数字を指定 ★終了 q() ★画像の表示 (Ubuntu linux) $ eog seiseki-chart000.png