我有一个大的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页面显示了对更多类型输出的支持
>边缘列表太简单,无法满足您的需求
> Pajek可能过于特定于域,并且对GraphML有一些类似的限制
> Dot可能能够满足您的需求(参考:http://www.graphviz.org/Documentation/dotguide.pdf)
> GraphML不会处理超图,嵌套图或混合(有向/无向)图.
> GML说“只使用节点和边缘属性,并且只有它们有一个简单的类型:整数,实数或字符串.所以如果属性是数组或记录,那么它将被忽略.如果只是属性的某些值很复杂.“
> DL很不适合你.
> NCOL“只是一个象征性的加权边缘列表”,所以它也很棒.
> LGL也非常简单,无法工作.
> DIMACS没有您需要的额外信息.
> LEDA(我相信)只支持单一属性.
> GraphDB也有局限性.
所以,我会给GraphML和GML一个.