KHcoder22. 共起ネットワーク(第3回) タブローでネットワーク図

KHcoder22. 共起ネットワーク(第3回) タブローでネットワーク図

テキストマイニングツール「KHcoder」の活用メモ
開発者である樋口先生に感謝!
【今回の分析対象テキストはこちらからコピーできます】

Rからデータを取り出す

KHcoderの手順

KHcoder 共起ネットワーク図 今回はKHcoderで描画できる共起ネットワーク図をタブローで再現しようとする、大胆で生産性が低いことにチャレンジします。

 KHcoderで共起ネットワーク図を描画します。「集計単位」を「段落」、「最大出現数」を1、「外部変数・見出し」を「年代」に設定します。右下の「保存」をクリック、「R Source」を選択して名前を付けて保存します。Rを起動して保存したファイルをドラッグ&ドロップします。手順は共起ネットワーク(第2回)と同様です。

Rコマンド
#マトリクスデータ(d)の行名と出現回数(freq)のデータを合体します
data1<- cbind(d[,0],freq)
#data1をCSVで取り出します
write.csv(data1, "ディレクトリ名/マスタ.csv")
#ノードの座標(lay_f)へ列名を付与します
colnames(lay_f) <- c("X座標", "Y座標") 
#lay_fをCSVで取り出します
write.csv(lay_f, "ディレクトリ名/xy座標.csv")
#線分の起点・終点、線の太さ(el)をCSVで取り出します
write.csv(el, "ディレクトリ名/線と太さ.csv")

(”<-”などが文字化けしていたら直してくださいませ、ディレクトリ名、ファイル名はご自身で書き直してください。)

 Rへコマンドを入力して必要なデータをアウトプットします。これで指定したディレクトリへCSV形式で3つのファイルが作成されます。

CSVファイルを整形

マスタ.csv 「マスタ」で出力したCSVファイルを開きます。行の下の方にある「外部変数・見出し」の語に”<>”が付いているので削除します。C列へ「語番号」と列名を入れて1から昇順ユニークになる番号を最終行まで追加します。(画像は6~32行を非表示にしていますが実際にはすべての行にたいして処理を実施してください)上書き保存して終了です。

タブローでデータへ接続する

語をプロットするデータ

Tableau データ接続1 保存した「マスタ.csv」データへつなぎます。元データA列の列名がぬけているのでF1になっています。ダブルクリックして列名を「語」に書き換えます。「語」は座標へプロットする「語」(ノード)です。「freq」は「語」の出現回数ですからプロットのサイズになります。「語番号」は直線をプロットするデータとブレンドするためのIDになります。

Tableau データ内部結合 次に「追加」をクリックして「xy座標.csv」へ接続します。「マスタ.csv」と「xy座標.csv」を内部結合します。F1列は不要なので「非表示」にします。これで「語」をプロットする座標を得ることができました。つまり、この結合データは「語」をブロットする座標とプロットのサイズを示すものです。

線をプロットするデータ

Tableau データ接続2 新しいデータソースで「線と太さ.csv」へ接続します。接続した状態(左画像)は「F1」が「番号」になります。「edge1」と「edge2」が「番号」です。これは、「マスタ.csv」の「番号」と一致しています。従って1行目で解説すると「番号」1と「番号」33を直線で結ぶというデータです。「weiht」と「elbb.weigt_b」は線の太さです。描画では「elbb.weigt_b」を使用するので「weiht」列は非表示にしても構いません。

 「F1」を「線番号」、「edge1」を数字の「1」、「edge2」を数字の「2」へ書き換えます。

Tableau データ接続 ピポット 「1」と「2」の列を同時選択して右クリック、「ピポット」をクリックします。右図のようにあたらしく「ピポットのフィールド名」「ピポットのフィールド値」の2列が追加されます。 「ピポットのフィールド名」を「線の順番」、「ピポットのフィールド値」を「番号」へ書き換えます。これで完成です。「番号」は線をプロットするためのIDです。「線の順番」は始点1から終点2へ直線をプロットするというデータです。タブローでは線の順番を昇順数値で設定すると、始点1→中継点2→中継点3→終点4、このように直線で結んでいくことが可能です。

タブローで描画

線をプロットする

Tableau 線のプロット はじめのデータは「線と太さ」です。「線番号」「語番号」がメジャーになっているときはディメンションへ変更してください。ディメンションの「「線番号」を「詳細」へドロップします。マークを「線」に設定します。データを「マスタ」へ切り替えて列シェルフへ「X座標」を行シェルフへ「Y座標」をドロップします。このとき「マスタ」データのディメンションの「番号」でデータブレンドします。「番号」の横にリンクマークがオレンジ色で表示されればOKです。プライマリデータソースが「線と太さ」、セカンダリデータソースが「マスタ」でリレーションシップが構築された状態です。

 「線の太さ」データへ戻り「線の順番」をパスへドロップします。これで線のプロットが完成です。「elbb.weight_b」を色、サイズ、ラベルへドロップします。

語をプロットする

Tableau 語のプロット データを「マスタ」へ切り替えて列シェルフへ「X座標」を追加します。マークを「形状」に切り替えて「形状」へ「語」をドロップします。10代・40代・60代を四角、その他の語を丸にします。このあたりはお好みです。「freq」を色とサイズへドロップします。「語」をラベルへドロップします。これで「語」のプロットは完成です。

二重軸にする

Tableau 二重軸 列シェルフの右側にある「X座標」を右クリックして「二重軸」を選択すると、線のプロットと語のプロットが重なります。線と語を同時にプロットするもではなく、別々にプロットしたものを重ねるわけです。ただしこの状態では線のプロットと語のプロットが少しずれています。原因は上のX座標と下のX座標のスケールが一致していないからです。

軸を同期する

Tableau 軸の同期 上下どちらかのX座標を右クリックして軸の編集を開きます。「二軸を同期」にチェック、「ゼロを含める」のチェックは外します。

手直しして完成

Tableau ネットワーク図 「マスタ」データのメジャーにある「freq」をフィルターへドロップして表示します。これで「語」の出現回数の範囲を動かすことができます。あとは、色やサイズをお好みで調節すれば完成です。

Tableau 共起図 ダッシュボード ダッシュボードへはると大きく見えます。「freq」の最小値を2にするとこのようになります。軸の編集で「ゼロを含める」のチェックを外したのは「freq」数を変更してもキャンバス全体にプロットするためです。

>KHcoder21. 共起ネットワーク(第2回) Rの計算
>KHcoder 23. 共起ネットワーク(共起パターンの変化を探る)