c - igraph R 和 C,写入和读取带有属性的邻接矩阵

标签 c r igraph adjacency-matrix

我想使用 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 教程“示例 12.2”中的示例。文件 example/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), 中: 在foreign-graphml.c:443:无法添加顶点ID,已经有一个“id”顶点属性

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

最佳答案

Re a):Pajek 格式不支持任意属性,仅支持少数专用属性;请参阅 igraph_read_graph_pajek 的文档了解更多详情。

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

关于c - igraph R 和 C,写入和读取带有属性的邻接矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33174790/

相关文章:

python - 使用用户指定的全局聚类系数高效生成随机图

c - 寻找除数的有效方法

c - 防止空指针解除引用

r - dplyr 在 case_when 中用分号分隔

python - python中将edgelist导入igraph的格式

揭示 igraph 中的交互集群

复制文件到 windir c

c - 从 .so 文件访问全局静态变量而不修改库

readOGR (rgdal) 无法从 XML 获取多边形名称

r - 如何使用rbind合并具有POSIXct和Date列类的数据表?