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

  [No.3403] .graphmlの書き出し 投稿者:礒島  投稿日:2017/12/25(Mon) 12:24:23

はじめまして。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 形式で保存できるようになりました。


  [No.3406] Re: .graphmlの書き出し 投稿者:HIGUCHI Koichi  投稿日:2017/12/26(Tue) 21:15:03

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

この度はKH Coderのエラーについて詳しくお調べいただき、さらに修正方法ま
で添えてお知らせいただきましたこと、心より感謝申し上げます。まさしく干
天の慈雨のように感じられます。

手元の環境では「igraph::」がなくても動いていたのですが、お書きいただき
ました通り、「igraph::」が必要な場合があるようです。そして、「igraph::」
を書くことで生じる不具合・副作用類はないようです。ここから、次にリリー
スするバージョンからは、「igraph::」を付けておくようにいたします。

このたびのお知らせ、改めてお礼申し上げます。