【问题标题】:Regression line in ggplot doesn't match computed regressionggplot 中的回归线与计算回归不匹配
【发布时间】:2016-02-02 11:33:46
【问题描述】:

我使用 R 并使用 ggplot2 创建了一个图表。

ggplot(Month.Data, aes(y=Measure, x=Samples)) +geom_point()  + geom_smooth(method = "lm", se = FALSE)

然后我创建一个回归,以便我可以做出一些预测

regression <- lm(Samples ~ Measure, data = Month.Data)

我将“Measures”的数据框传递给预测函数

预测(回归,测量)

我希望这些预测与我在图表上使用回归线时的预测相同,但它们并不相同。为什么会这样? ggplot中有设置还是我的预期不正确?

【问题讨论】:

  • 你不是用Month.Data 数据集绘制和使用lm,而是使用Measures 数据集进行预测..?
  • 是的,Measures 是一个包含 5 个“Measure”值的数据框。如果我手动使用绘图上的线条,这个预测的结果应该是我所看到的。
  • 所以你在不同的数据集上估计你的模型并在不同的数据集上进行预测——这显然会导致不同的结果......
  • 预测应该与图表上的回归线对齐,我并不是说它应该与实际结果匹配。

标签: r regression ggplot2


【解决方案1】:
ggplot(Month.Data, aes(y=Measure, x=Samples)) + ...

这里你的 y 值是 Measure 和你的 x 值 Samples

regression <- lm(Samples ~ Measure, data = Month.Data)

这里你的 y 值是 Samples,你的 x 值是 Measure

这些是不同的模型,预测也会不同,因为 OLS 会最小化 y 方向上的残差平方和。

【讨论】:

  • 是的,这是正确的!我不应该犯这个基本错误,感谢您纠正我。
猜你喜欢
  • 1970-01-01
  • 2016-11-28
  • 2020-04-27
  • 1970-01-01
  • 2014-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-14
相关资源
最近更新 更多