6
なぜdegree.distribution
が私のために働いていないのか分かりません。私はR i386 3.0.0とR x64 3.0.0を試しました。Rグラフdegree.distributionが動作しない
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)に1つの値しかありません。しかしグラフには度の出力(testG)によって示されるように、他の次数を持つノードが含まれています。これは[1,3,2,4,2,2,0,0,0,0]
です。
これはバグです。パッケージ作成者に報告することができます。関数は 'hist'を使用しますが、その結果は' intensities'フィールドを持っていましたが、R 3.0.0では削除されました(代わりに 'density'を使うことができます)。 –
ありがとうございます!私はそのような疑惑を抱いていた。 Rx64 2.15.2でスクリプトを実行すると、完璧に動作します。 – user1748601
すでに報告され、修正されました:https://bugs.launchpad.net/igraph/+bug/1164523あなた自身の 'degree.distribution'関数を回避する方法として、igraphからコピーして'密度を「密度」にする。 –