次数分布をプロットするスクリプトの出力が正しいかどうかを知りたいです。
したがって、スクリプトは次のとおりです (すべての頂点の次数を持つベクトルが x に格納されます):
×は
x
[1] 7 9 8 5 6 2 8 9 7 5 2 4 6 9 2 6 10 8
x は特定のネットワーク頂点の次数です。たとえば、頂点 1 の次数は 7、頂点 2 の次数は 9 などです x <- v2 summary(x)
library(igraph)
split.screen(c(1,2))
screen(1)
plot (tabulate(x), log = "xy", ylab = "Frequency (log scale)", xlab = "Degree (log scale)", main = "Log-log plot of degree distribution")
screen(2)
y <- (length(x) - rank(x, ties.method = "first"))/length(x)
plot(x, y, log = "xy", ylab = "Fraction with min. degree k (log scale)", xlab = "Degree (k) (log scale)", main = "Cumulative log-log plot of degree distribution")
close.screen(all = TRUE)
power.law.fit(x, xmin = 50)
私の問題は、log-log プロットが正しくないように見えることです。たとえば、次数「7」が全体で 8 回あるため、log-log プロットのこの点が 0.845 (log 7)/ 0.903 (log( 8) (x/y) のように?
さらに、画面 2 のプロットに線 (対数対数スケールのべき乗則) を合わせる方法を教えてもらえますか?