在r中使用igraph导出图形

时间:2014-03-14 16:14:37

标签: python r igraph

我有一个大的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?")

非常感谢!

1 个答案:

答案 0 :(得分:5)

专业人士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也有局限性。

所以,我要给GraphMLGML一个。