当我厌倦将图形写入文件时,输出文件不保留顶点名称。 这是代码:
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/