4

我正在绘制一些带有重叠线性拟合线的对数缩放数据,如下所示:

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文本中已解决,但我现在找不到它。

4

1 回答 1

9

渲染绘图时ggplot,它按以下顺序进行:

  1. 将变量映射到美学(即,对于每一层,找出哪个变量与哪个美学相关联等)
  2. 刻面数据集(制作面板)
  3. 变换尺度(scale_通常通过任何函数)
  4. 计算美学(即计算lm拟合,在这种情况下——这是stat_函数的用武之地,通常通过geom_函数调用)
  5. 火车规模(弄清楚整体地块尺寸应该是多少)
  6. 地图比例(找出每一层应该适合整体情节的位置)
  7. 渲染几何。

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

于 2013-02-13T01:49:11.283 回答