はじめまして。KH Coderを使わせていただいています、礒島と申します。
共起ネットワーク図の .graphml 形式での書き出しについて、
起こった問題と、とりあえずの対処法とをお知らせします。
●各種バージョン
KH Coderのバージョン
3.Alpha.11 [Perl 5.10.1, Perk/Tk 804.028]
OSのバージョン
CentOS Release 6.9
64bitです。
Rのバージョン
R version 3.4.2 (2017-09-28) -- "Short Summer"
Copyright (C) 2017 The R Foundation for Statistical Computing
Platform: x86_64-redhat-linux-gnu (64-bit)
Rのigraphのバージョン
> packageVersion("igraph")
[1] ‘0.7.0’
●エラーが出るまでの操作手順
ツール→抽出語→共起ネットワーク
→「抽出後・驚喜ネットワーク:オプション」画面で
(edgeの種類は 語-語、Jaccard 上位60, バブルプロット バブルの大きさ100%, 半透明の色)
設定して「OK」をクリック
「抽出語・共起ネットワーク」ウィンドウが現れ,共起ネットワークが表示されます。
(ここまでは正常です)
この「抽出語・共起ネットワーク」ウィンドウの下の端で「保存」をクリックし,
File name: abcd.graphml
と入力して「Save」をクリックすると,コマンドラインに
Statistics::R::Bridge::pipe::read_processR, Sleep and Retry!
Statistics::R::Bridge::pipe::read_processR, Retry:
Warning: Ignoring unknown aesthetics: xend, yend
failed to save the plot: [1] "use_alpha 1"
<simpleError in set.vertex.attribute(n2, "frequency", (0 + new_igraph):(length(get.vertex.attribute(n2, "name")) - 1 + new_igraph), freq[as.numeric(get.vertex.attribute(n2, "name"))]): set.vertex.attribute requires an argument of class network.> at (略)/kh_coder_3a11/kh_lib/kh_r_plot.pm line 522.
と表示されます。「抽出語・共起ネットワーク」ウィンドウはそのまま表示されています。
再度「抽出語・共起ネットワーク」ウィンドウの下の端で「保存」をクリックし
こんどは
File name: efgh.net
と入力しても
Statistics::R::Bridge::pipe::read_processR, Sleep and Retry!
Statistics::R::Bridge::pipe::read_processR, Retry:
Warning: Ignoring unknown aesthetics: xend, yend
failed to save the plot: <simpleError in set.vertex.attribute(n2, "id", (0 + new_igraph):(length(get.vertex.attribute(n2, "name")) - 1 + new_igraph), colnames(d)[as.numeric(get.vertex.attribute(n2, "name"))]): set.vertex.attribute requires an argument of class network.> at (略)/kh_coder_3a11/kh_lib/kh_r_plot.pm line 522.
と表示され,ファイル(efgh.net)は保存されていません。
「抽出語・共起ネットワーク」ウィンドウはそのまま表示されたままなので,
下の端で「保存」をクリックし
File name: abcd.pdf
と入力すると、
指定したファイル名 abcd.pdf が保存されており,
このpdfファイルを(evinceで)開くと,共起ネットワークの画像が表示されました。
●要約
共起ネットワークを作図した後,拡張子 .graphml や、 .net で保存しようとすると
コマンドライン側にはエラーが表示され,指定したファイル名のファイルは現れませんでした。
●とりあえずの対処方法
kh_lib/kh_r_plot/network.pm の、
429行目以降の sub r_command_n4{... の中で、
set.vertex.attribute 4箇所を igraph::set.vertex.attributeに、
get.vertex.attribute 6箇所を igraph::get.vertex.attributeに
置換すると、 .graphml 形式で保存できるようになりました。