R&GEPHI:ネットワーク内のエッジがRGEXFパッケージを使用して正しくインポートされていません
-
21-12-2019 - |
質問
Rパッケージ"rgexf"
に問題があります。特に、私はgephiへのインポートネットワークの EDGES に問題があります。 rでは頂点のデータベースを作成できます
>vertices
Id Label
1 1 1
2 2 2
3 3 3
4 4 4
5 5 5
6 6 6
7 7 7
8 8 8
9 9 9
10 10 10
.
とエッジのデータベース(正確な単一の端)
>edges
Source Target
1 5 9
.
を使って.gexfファイルを作成します
>write.gexf(output = path_gexf, nodes = vertices, edges = edges, defaultedgetype = "undirected")
.
ここで、path_gexf
は出力ファイルのパスだけです(これはexample.gexfという)。
gephi(バージョン0.8.2ベータ)を使用してexample.gexfを開きます。
画像1では:
gephiでのインポートレポートを見ることができます:頂点とエッジの数は正しいです。私は手動でグラフの種類を無向に変更し、データ実験室ウィンドウにすべてのデータをインポートします。
- 質問1 。 with.gexf関数ですでにそれをした場合は、「報告書」ウィンドウで「無向」を指定することになっているのはなぜですか?
- 質問2. example.gexfファイルのインポートを修正する方法? Rコードのレベルですべてが滑らかで、頂点/エッジが私のコードによって正しく生成されます。 Gephiで問題が発生します。
Image2
インポート後、グラフの種類が自動的に「指示」およびのタイプが実際にはインポートされていないことがわかります。
画像3
頂点のリストを持っています:すべて大丈夫です。ラベルとIDが正しくインポートされています。画像4
で
エッジのデータ実験室のウィンドウを見ることができます。すでに画像に注目されているように、エッジがインポートされていません.2。エッジがインポートされていない理由がわかりません。
備考:エッジのインポートに関して問題を備えた.gexfファイルが多数あります。多くの場合、「ソース」と「ターゲット」を訂正していないエッジだけがインポートされます。十分に十分に、平行な端はそれらの乗数に従って常に適切にカウントされます。
長い投稿をお詫び申し上げます。
編集:ダミーRコードを使用したいくつかのテスト
@James Tobinのコードを使用してテストをしました(ありがとう!)。私のPCにもうまく機能します。 2つのエッジを持つグラフでテストしました。テストはすべて大丈夫でした。 それから私は
を使って3,4のエッジケースに移動しましたrequire(rgexf)
vertices <- as.data.frame(cbind(seq(1,10),seq(1,10)))
colnames(vertices) <- c('Id','Label')
edges <- as.data.frame(cbind(c(5,1,2),c(1,1,3)))
colnames(edges) <- c('Source','Target')
write.gexf(nodes=vertices,edges=edges,
defaultedgetype = "undirected")
.
と
require(rgexf)
vertices <- as.data.frame(cbind(seq(1,10),seq(1,10)))
colnames(vertices) <- c('Id','Label')
edges <- as.data.frame(cbind(c(5,1,4,2),c(2,3,1,2)))
colnames(edges) <- c('Source','Target')
write.gexf(nodes=vertices,edges=edges,
defaultedgetype = "undirected")
.
どちらの場合も、XLMコードは正しいw .tです。ノードとエッジID、ラベル、ソース、およびターゲット。
問題はどこですか? 3 EDGESケースでは、Gephiのインポートレポートは正しいですが、Data Laboratory Edgeウィンドウにエッジ
が表示されません。<edge id="1" source="1" target="1" weight="1.0"/>
.
4エッジの場合、エッジ
<edge id="0" source="5" target="2" weight="1.0"/>
.
が欠けている。
私はgephi 0.8.2にバグがあると信じ始め、コードではありません。
提案/コメント?
解決
質問1:GEXFファイルで表示されていないグラフをすでに指定したとしても、Directedはデフォルトですが、それをクリックするのは少し迷惑なものです。安全の観点からは、ユーザーが誤って選択する潜在的に選択するよりも、ユーザーがインポートしているグラフを再確認できるようにします。それほど大きな取引ではなく、2秒かかります。
質問2:あなたの例をコピーしました
require(rgexf)
vertices <- as.data.frame(cbind(seq(1,10),seq(1,10)))
colnames(vertices) <- c('Id','Label')
edges <- as.data.frame(cbind(5,9))
colnames(edges) <- c('Source','Target')
write.gexf(output='testgex.gexf',nodes=vertices,edges=edges,
defaultedgetype = "undirected")
.
しかし、私はエッジに関する問題はありません。
おそらくあなたは失敗するあなたの正確なコードを含めることができますか?おそらくあなたのエッジはData.Frameフォームにはありませんか?私はあなたのエラーを複製することができなかったので推測するだけです。