我有一个大的 igraph 对象,它有几个边和顶点属性,我需要将它们写入文件并稍后再次加载(可能通过不同的程序,如 python)。
> g
IGRAPH DN-- 85000 1000000 --
+ attr: name (v/c), numeric_var (e/n), binary_outcome1 (e/x), binary_outcome2 (e/x)
那么我应该使用什么格式才能将所有边缘属性写入文件格式?
write.graph(g, file = "test1.fileextension",format = "which_format?")
非常感谢!
最佳答案
R igraph
read.igraph
帮助文件中很好地记录了各种支持格式的优缺点:http://igraph.sourceforge.net/doc/R/read.graph.html . write.igraph
页面显示支持更多类型的输出
Edge List
对您的需求来说太简单了Pajek
可能过于特定领域,并且与GraphML
有一些类似的限制
Dot
可能能够满足您的需求(引用:http://www.graphviz.org/Documentation/dotguide.pdf)GraphML
不会处理超图、嵌套图或混合(有向/无向)图。GML
表示“仅使用节点和边缘属性,并且仅当它们具有简单类型时:整数、实数或字符串。因此,如果属性是数组或记录,则它被忽略。如果只有属性的某些值很复杂,这也是正确的。”DL
可能对您不起作用。NCOL
是“简单的符号加权边列表”,所以它也很可能被淘汰。LGL
也太简单了,无法工作。DIMACS
没有您需要的额外信息。LEDA
(我相信)只支持单个属性。GraphDB
也有局限性。
所以,我会试试 GraphML
和 GML
。
关于python - 在 r 中使用 igraph 导出图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22410409/