从this source开始,我试图重现以下情节:
之前,我发布了一个关于对数正态分布的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)
我认为使用p(x) = c * x^-gamma
c = 0.03
和gamma = 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)
我可以得到一行作为log(p(x))= log C -alpha * log(x):
但不是如果我打算保持相同的x轴,范围从0到10,以在一个单独的图中绘制两个密度。
多个对数组合尚未解决问题。我错过了什么?