R图表中的度分布不起作用

7

我无法弄清楚为什么degree.distribution对我没有作用。我已经在R i386 3.0.0和R x64 3.0.0上尝试过了。以下是生成图形并显示其分布的简单脚本:

library(igraph)

testG = graph.empty(n=10, directed=TRUE)
for(row in 1 : 5) {
    src = row
    dest = row + 1
    testG = add.edges(testG, rbind(src, as.numeric(dest)))
    if(row %% 2 == 0) {
        dest = row + 2
        testG = add.edges(testG, rbind(src, as.numeric(dest)))
    }
}
testG

testD = degree.distribution(testG, v=V(testG), cumulative=FALSE)
testD
plot(1 : length(testD), testD, "h", main="Website Graph Degree Distribution", xlab="Degree", ylab="Probability of Degree")
degree(testG)

testG显示:IGRAPH D--- 10 7 --(有意义)。 testD显示:NULL(为什么?)。 图表只有一个值在(1,1)处。但是,该图包含其他度数的节点,这可以通过degree(testG)的输出证明,它是[1,3,2,4,2,2,0,0,0,0]


4
这是一个错误:你可以向软件包作者报告。该函数使用了 hist,其结果以前有一个 intensities 字段,但在 R 3.0.0 中已被移除(可以使用 density 替代)。 - Vincent Zoonekynd
谢谢!我有一个怀疑,可能是这种情况。在 R x64 2.15.2 上运行我的脚本完美无缺。 - user1748601
4
已经报告并修复:https://bugs.launchpad.net/igraph/+bug/1164523。解决方法是定义自己的 degree.distribution 函数,非常简单,您可以从 igraph 复制它,然后将 intensities 更改为 density - Gabor Csardi
1个回答

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接