No.05001 R で非類似度行列をクラスター分析にかけたい  【ぞう】 2007/12/10(Mon) 15:45

質問があります。
土田氏作成のPAC分析支援ツール(http://wwwr.kanazawa-it.ac.jp/~tsuchida/lecture/pac-asist.htm)を用いて作成された非類似度行列を,R に読み込ませてクラスター分析を行いたいと思っています。しかし,どのような関数を用いればいいのかわかりません。

非類似度行列は以下のようなものが作成されます。
(example)
a b c d e f g
a 0.0 56.7 28.6 50.1 50.8 50.1 57.5
b 56.7 0.0 36.2 28.6 35.8 64.9 65.1
c 28.6 36.2 0.0 72.6 64.9 64.9 21.4
d 50.1 28.6 72.6 0.0 37.2 36.2 79.3
e 50.8 35.8 64.9 37.2 0.0 86.2 72.7
f 50.1 64.9 64.9 36.2 86.2 0.0 72.5
g 57.5 65.1 21.4 79.3 72.7 72.5 0.0
このデータをRに読み込ませて,クラスター分析の結果を得たいのですが,hclust関数に読み込ませる方法を教えていただけないでしょうか。
よろしくお願いします。

No.05002 Re: R で非類似度行列をクラスター分析にかけたい  【ぞう】 2007/12/10(Mon) 16:30

PAC分析支援ツールの付属文書を読んだところ,「分解能が1000」と書いてあったので類似度を7段階,10段階で評価するのではなく,1000段階で評価できるものかな,と思いました(これはPAC分析支援ツールの作者に確認することですが)。

No.05004 Re: R で非類似度行列をクラスター分析にかけたい  【青木繁伸】 2007/12/10(Mon) 16:56

PACは,ちょっと問題のある分析法で。。。
伊東氏のHALWINのデンドログラムの解釈も,誤解がある(後刻,ご当人からも確認のメール有り)

http://aoki2.si.gunma-u.ac.jp/lecture/mb-arc/arc035/08392.html
を参照されると良いと思います。

そのあたりはともかく,デンドログラムが描ければよいというのなら
plot, hclust, as.dist関数ですね。
他の引数はオンラインヘルプで調べる。
非類似度行列を a とすると,以下の一行でよし。

plot(hclust(as.dist(a)), hang=-1)

No.05007 Re: R で非類似度行列をクラスター分析にかけたい  【ぞう】 2007/12/10(Mon) 19:25

ご教示ありがとうございます。
   0 56.7 28.6 50.1 50.8 50.1 57.5
56.7 0 36.2 28.6 35.8 64.9 65.1
28.6 36.2 0 72.6 64.9 64.9 21.4
50.1 28.6 72.6 0 37.2 36.2 79.3
50.8 35.8 64.9 37.2 0 86.2 72.7
50.1 64.9 64.9 36.2 86.2 0 72.5
57.5 65.1 21.4 79.3 72.7 72.5 0
というファイルをタブ区切りで作って,"testdata.dat"という名前で保存しました。
a<- read.table("testdata.dat",header=FALRE,sep="\t")
plot(hclust(as.dist(a)), hang=-1)
で,とりあえずデンドログラムが描けました。ありがとうございました。

リンク先も読ませていただきました。重ねてお礼申し上げます。

● 「統計学関連なんでもあり」の過去ログ--- 041 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る