我正在绘制一些带有线性拟合线的对数比例数据,如下所示:
d <- data.frame(x=1:10, y=10^(1:10 + rnorm(10)))
ggplot(d, aes(x=x, y=y)) + geom_point() +
geom_smooth(method="lm", se=FALSE) +
scale_y_log10()
看起来就像在变换后的数据上计算线性回归线,否则它会直接通过最后一点。真的吗?
我似乎记得在ggplot2
文字中解决了这个问题,但我现在找不到它。
答案 0 :(得分:6)
当ggplot
呈现绘图时,它按以下顺序执行:
scale_
函数)lm
拟合,在这种情况下 - 这是stat_
函数的来源,通常通过geom_
函数调用)因此,缩放在模型拟合之前发生,因此是,正在计算变换数据的拟合。