如果我使用plot()
在我的数据上使用lm(x~y)
创建散点图,则会在500处截获,当我在qplot
的相同数据上观察到stat_smooth(method=lm)
时,截距在y轴上大约为1000。虽然斜率看起来与简单plot()
上的斜率相似。我希望这是有道理的。我无法理解为什么不同。完整功能如下。任何帮助将不胜感激。
plot()
:
plot (my[[12]],my[[8]])
abline(lm(my[[12]]~my[[8]]),col="red")
qplot()
:
myGG<-qplot(x=my[[12]],y=my[[8]]) # pretty scatterplot
myGG<-myGG + stat_smooth(fullrange=TRUE,method="lm")
答案 0 :(得分:2)
在我看来,回归中的变量并不对应。在lm
中,变量my[[12]]
依赖,在qplot
变体中,独立变量。使用lm(my[[8]]~my[[12]]
应该使其等效。
使用plot
和lm
时混淆变量是一个常见的错误。请注意,要使轴正确,变量的顺序会在lm
与plot
相比发生变化。
x <- rnorm(100)
y <- rnorm(100)
plot(x,y)
abline(lm(y ~x))
为了减少混淆,您可以使用plot
中的公式界面。
plot(y ~ x)
abline(lm(y ~x))