[掲示板へもどる]
一括表示

  [No.1867] 文書×抽出語』表の出力からRでクラスター図作成 投稿者:高林  投稿日:2014/11/07(Fri) 14:52:31

樋口先生
初めまして、お世話になります。

500以上の文書(約1000文書)のクラスター分析のデンドログラムをプロットするために、
「ツール>>文書>>『文書×抽出語』表の出力」で出力したCSVファイルを
Rに読み込ませ、Rから直接デンドログラムを作成しようとしています。

KH-Corderよりプロットしたデンドログラムと整合性を担保するために、
500文書以下のデータで、KH-Corder作成のデンドログラム:Xと
Rから作成したデンドログラム:Yの結果を比較しているのですが、
XとYが全く同じデンドログラムになりません。
(サブクラスター単位にみれば、10クラスターで分割した場合、5/10が一致)

KH-CorderのPerlソースを確認したところ、
私の場合(Y)、Jaccard距離算定にlibrary(vegdist)を使用しているため、その辺りかという気はするのですが、
よく分かりません。
『文書×抽出語』表の出力以降、どういう手順でRで同じデンドログラムを作成できるか
ご教授頂けないでしょうか。
以上よろしくお願い致します。


Kh-Corder(X)のOption(ツール>>文書>>クラスター分析)
・「方法」=『Ward法』
・「距離」=『Jacard』
・「標準化」=『なし』
・「値」=「TF-DIF」
・「クラスター数」=10

Rから作成(Y)時手順
1)ツール>>文書>>『文書×抽出語』表の出力(CSVファイル)
2)A列からI列まで削除
3)R起動
  1.CSV読込
    >pcp2010 <- read.csv("out20141107.csv")
  (2.行番号設定)
  3.距離行列作成
    >pcp2010.d <- vegdist(pcp2010,method="jaccard",binary=T)
  4.クラスター分析(ward法)
    >pcp2010.d.hc3<- hclust(pcp2010.d,method="ward")
    >plot(pcp2010.d.hc3,hang=0.2,main="ward")


  [No.1868] Re: 文書×抽出語』表の出力からRでクラスター図作成 投稿者:HIGUCHI Koichi  投稿日:2014/11/07(Fri) 15:32:24

こんにちは、樋口です。書き込みありがとうございます。

わざわざソースをご覧になったとは恐縮です。ただ、KH Coderでは、ほぼすべ
てのプロットをR形式で保存できるようになっています。

デンドログラムのWindowで、「保存」をクリックし、「ファイルの種類」のと
ころで「R Source」形式を選択してください。そうするとプロット作成のため
に実行したRコマンドがそのまま保存されるので、Rコマンドの比較を行ってい
ただけると思います。

なお、デンドログラムが異なる理由として考えられるのは、KH Coderではクラ
スター分析の方法として"ward"ではなく、"ward.D2"を用いている点でしょうか。


  [No.1871] Re: 文書×抽出語』表の出力からRでクラスター図作成 投稿者:高林  投稿日:2014/11/10(Mon) 14:54:01

樋口先生

ご回答ありがとうございます。
ご指示の通りの方法でRからKH-corderと同じデンドログラム
を作成できました。

"ward.D2"の指定の他、TF*IDFの重み付け処理も抜けていました^^;)
ありがとうございます。