我知道参数log="xy"
,但我不知道你是否可以控制对数刻度的底数(我的猜测是 10 可能是默认值(?)),而且我在下面的具体问题上并不幸运......
我怎样才能重现以下情节(从这个来源 http://www.uvm.edu/pdodds/teaching/courses/2013-01UVM-300/docs/2013-01UVM-300lognormals-flat.pdf)与 R。特别是,我在以 10 为底的对数 x 和 y 轴方面遇到问题。
抛开幂律红线不谈,我正在玩
x = rlnorm(1e4,0,10)
h = hist(x, prob=T, plot=F)
plot(h$count, log="xy", type="l", lend=2)
没有成功。
使用以 10 为底的对数正态分布的 pdf
[将其推广到其他对数库很简单。]
然后我们可以在 log10-log10 尺度上绘制 pdf。
(gg)绘图
# 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 = 100);
y <- lognorm_base10(x, 0, 10);
# Plot
require(ggplot2);
gg <- ggplot(data.frame(x = x, y = y), aes(x, y));
gg <- gg + geom_line() + scale_y_log10();
gg <- gg + labs(x = "log10(x)", y = "log10(p)")
不使用 ggplot 进行绘图
plot(x, log10(y), type = "l")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)