绘制重叠对数正态和幂律分布的区域

时间:2017-11-01 04:02:11

标签: r plot distribution

this source开始,我试图重现以下情节:

enter image description here

之前,我发布了一个关于对数正态分布的log10-log10图的问题,得到了答案here

# lognormal base log10 pdf, w is in log10
lognorm_base10 <- function(w, mu, sigma) {
    log10(exp(1)) / (sqrt(2*pi*sigma^2) * 10^w) * exp(- (w - mu)^2 / (2 * sigma^2))
}

# Generate data for mu = 0, sigma = 10 
x = seq(0, 10, length.out = 101)
y = lognorm_base10(x[2:101], 0, 10)

enter image description here

我认为使用p(x) = c * x^-gamma c = 0.03gamma = 1时,权力法的重叠变得容易了。

然而,事实并非如此,得到与

完全不同的东西
# Generating the power law density curve:
alpha <- -1
C     <- 0.03
z     <- log10(C) + alpha * log10(x[2:101])

plot(x[2:101], log10(y), type = "l")
lines(x[2:101], z, type= 'l', col=2)

enter image description here

我可以得到一行作为log(p(x))= log C -alpha * log(x):

enter image description here

但不是如果我打算保持相同的x轴,范围从0到10,以在一个单独的图中绘制两个密度。

多个对数组合尚未解决问题。我错过了什么?

0 个答案:

没有答案