r - 将图形写入文件不保留顶点名称

标签 r igraph

当我厌倦将图形写入文件时,输出文件不保留顶点名称。 这是代码:

edgelist = read.csv("test.csv",header=FALSE,sep=",")
g = graph.edgelist(as.matrix(edgelist),directed=FALSE)
V(graph)$name <- V(graph)
graph  <- delete.vertices(graph, which(degree(graph) < 1))
write.graph(g, "temp.txt", "edgelist")

测试.csv:

1,11
1,22
2,11
2,33
3,22
3,33
4,44

临时.csv:

0 4
0 5
1 4
1 6
2 5
2 6
3 7

最佳答案

“edgelist”格式始终是数字,因此它不使用顶点名称。如果您想保留名称,请使用其他格式,例如ncol:

g <- graph.formula(a-b-c)
write.graph(g, format="ncol", file="test.ncol")

g2 <- read.graph("test.ncol", format="ncol")
str(g2)
# IGRAPH UN-- 3 2 -- 
# + attr: name (v/c)
# + edges (vertex names):
# [1] a--b b--c

顺便说一句。当你这样做时

V(graph)$name <- V(graph)

这不是最好的,因为许多 igraph 函数假设顶点名称是字符,而 V(graph) 是数字。就这样吧

V(graph)$name <- as.character(V(graph))

相反。

关于r - 将图形写入文件不保留顶点名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21726639/

相关文章:

r - 如何在 R 中使用 igraph 删除小社区?

r - 如何使用 igraph 包从数据框中构建图表?

python - 从 numpy 求和二维数组创建加权 igraph 图作为邻接矩阵

r - Data.Table:每两周汇总一次

r - R中fuzzySim包中的错误发现率(FDR)

r - 如何在检测到特定字符串后使用过滤器和 dplyr 删除数据帧行

Python igraph : delete vertices from a graph

r - 手工编写 BFS 搜索算法

r - 根据数据设置 dateRangeInput 最小值/最大值

r - ggplot2 - 饼图 - 值标签倒序