R stat_平滑和尺度变换的运算顺序

R stat_平滑和尺度变换的运算顺序,r,ggplot2,R,Ggplot2,我正在用叠加的线性拟合线绘制一些对数比例的数据,如下所示: 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() d当ggplot呈现绘图时,它会按照以下顺序进行渲染: 将变量映射到美学(即,对于每个层,找出哪个变量与哪个美学相关,等等) 刻面数据

我正在用叠加的线性拟合线绘制一些对数比例的数据,如下所示:

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()

d当
ggplot
呈现绘图时,它会按照以下顺序进行渲染:

  • 将变量映射到美学(即,对于每个层,找出哪个变量与哪个美学相关,等等)
  • 刻面数据集(制作面板)
  • 变换比例(通常通过任何
    比例
    功能)
  • 计算美学(即,计算
    lm
    fit,在本例中——这是
    stat\u
    函数的作用,通常通过
    geom\u
    函数调用)
  • 列车比例(计算出总体绘图尺寸)
  • 地图比例(计算出每个图层在整个绘图中的位置)
  • 渲染几何图形

  • 因此,缩放发生在模型拟合之前,因此是的,拟合是在转换数据上计算的。

    我猜这将取决于添加的误差项的数量??我不太明白为什么要通过最后一点。。。(在旁注中,您可能应该使用
    set.seed(.)
    ,以便在我们尝试绘制输出图时,输出图是相同的)。句子的第一部分(根据转换数据计算)是正确的,但我找不到第二部分的关系或意义(直接通过最后一点)。如果我没记错的话,刻面是第一位的,然后是变换,只有到那时,ggplot才开始训练尺度和绘制几何图形。线性回归正在对变换后的变量执行。如果不是这样的话,这条线在对数刻度上就不会是直的。看看当你只取最后一个刻度函数时会发生什么是很有趣的。