【问题标题】:igraph R and C, writing and reading adjacency matrix with attributesigraph R和C,写入和读取具有属性的邻接矩阵
【发布时间】:2015-10-16 15:59:23
【问题描述】:

我想使用 igraph R 来可视化我用 igraph C 创建的网络图。

到目前为止,我已使用以下命令将图形保存在 C 中:

FILE *ofile;
ofile=fopen("AdjacencyMatrix.csv", "w"); 
igraph_write_graph_pajek(&g, ofile);
fclose(ofile);

然后用这个从 R 中读取文件:

g<- read.graph("AdjacencyMatrix.csv", format = c("pajek"))

效果很好。

现在我想为边缘添加属性以区分两组边缘。为了做到这一点,我正在使用 来自 igraph C Tutorial 'Example 12.2.文件 examples/simple/cattributes2.c' 并在最后添加上述行 将图形保存在 csv 文件中。现在出现两个问题:

a) 如果我使用 pajek 命令保存文件,保存的文件不包含任何属性,只包含连接

b) 如果我使用 'igraph_write_graph_graphml(&g, ofile, /prefixattr=/ 1);'相反,我在尝试阅读时收到以下错误消息 igraph R中的文件:

g<- read.graph("AdjacencyMatrix.csv", format = c("graphml"))

警告信息: 在 .Call("R_igraph_read_graph_graphml", file, as.numeric(index), 中: at foreign-graphml.c:443 :Could not add vertex ids,已经有一个'id'顶点属性

有没有人建议我如何解决这两个问题?

【问题讨论】:

    标签: c r igraph adjacency-matrix


    【解决方案1】:

    Re a):Pajek 格式不支持任意属性,只支持少数专用属性;有关详细信息,请参阅igraph_read_graph_pajek 的文档。

    Re b):您收到的消息不是错误消息,而只是警告。随意忽略它 - 图表可能加载得很好。

    【讨论】:

    • a) 我会查阅文档 b) 你说的完全正确,非常感谢!!!我应该更仔细地阅读邮件。
    猜你喜欢
    • 1970-01-01
    • 2018-12-07
    • 2013-03-18
    • 1970-01-01
    • 1970-01-01
    • 2014-10-19
    • 1970-01-01
    • 2018-07-03
    相关资源
    最近更新 更多