什么是as.undirected函数中的'崩溃'模式

时间:2014-07-30 06:46:20

标签: r igraph

图表是

a b 1
a b 2
b a 3
a a 4
a a 2

g = read.graph('this_file.ncol', format = 'ncol', directed = TRUE)

当我使用as.undirected(g,mode="collapse")时,我得到了

a a 7
a b 5

为什么呢?我期待的是

a a 6
a b 6

这是一个错误,还是我不理解'崩溃的含义?

1 个答案:

答案 0 :(得分:1)

我可以重现这一点。这就是我得到的:

cat(file = tmp <- tempfile(), 
"a b 1
a b 2
b a 3
a a 4
a a 2
")

g <- read.graph(tmp, format = 'ncol', directed = TRUE)

g2 <- as.undirected(g, mode = "collapse")
get.data.frame(g2)
#   from to weight
# 1    a  a      7
# 2    a  b      5

igraph.version()
# [1] "0.7.1"

所以它似乎确实是一个错误。请在https://github.com/igraph/igraph报告。感谢。

as.undirected()似乎有多条边的问题。这是一种解决方法:

# g3 <- as.undirected(simplify(g, remove.loops = FALSE))
# get.data.frame(g3)
#   from to weight
# 1    a  a      6
# 2    a  b      6