Rでコレスポンデンス分析
ちょっとリクエストがあったのでRでコレスポンデンス分析(対応分析)の例。
メジャーなのはMASSパッケージに入っているcorresp関数を使うもので『S-PLUSによる統計解析』『Rによる統計解析』『R言語逆引きハンドブック』などでも紹介されています。金先生のページ(http://mjin.doshisha.ac.jp/R/26/26.html)でも解説されてますね。
でも個人的におすすめなのはcaパッケージのca関数を使う方法。英語の解説はhttp://www.statmethods.net/advstats/ca.html、日本語ではhttp://eau.uijin.com/advstats/ca.html。
- 作者: W.N.ヴェナブルズ,B.D.リプリー,W.N. Venables,B.D. Ripley,伊藤幹夫,戸瀬信之,大津泰介,中東雅樹
- 出版社/メーカー: シュプリンガー・フェアラーク東京
- 発売日: 2001/07
- メディア: 単行本
- クリック: 9回
- この商品を含むブログ (7件) を見る
- 作者: 青木繁伸
- 出版社/メーカー: オーム社
- 発売日: 2009/04/01
- メディア: 単行本
- 購入: 10人 クリック: 123回
- この商品を含むブログ (34件) を見る
- 作者: 石田基広
- 出版社/メーカー: シーアンドアール研究所
- 発売日: 2012/01/26
- メディア: 単行本(ソフトカバー)
- 購入: 4人 クリック: 61回
- この商品を含むブログ (11件) を見る
両方、簡単に実行方法を載せておきます。
まずは分析する分割表の入力。
# 分析するクロス集計表はこちらから拝借 # http://www.geocities.co.jp/WallStreet/7166/correspo/corr_02.html DAT <- matrix(c(41,23, 5, 5, 2, 15, 4, 0, 2, 1, 7,11, 2, 0, 0, 3, 3, 0, 0, 0), 4, byrow=TRUE) rownames(DAT) <- c("会社員","自営業","学生","その他") colnames(DAT) <- c("マンション","ハイツ・コーポ","アパート","テラスハウス","一戸建て")
MASSパッケージのcorresp関数を使った例。
library(MASS) DAT.ca1 <- corresp(DAT, nf=2) DAT.ca1 # 結果の表示 biplot(DAT.ca1, main="corresp()を使った例") # 描画
次にcaパッケージのca関数を使った例。
library(ca) DAT.ca2 <- ca(DAT) DAT.ca2 # 結果の表示 plot(DAT.ca2, main="ca()を使った例1") plot(DAT.ca2, mass = TRUE, contrib = "absolute", map ="rowgreen", arrows = c(FALSE, TRUE), main="ca()を使った例2")
まあ、大体こんな感じです。