1

plot()如果我在我的数据上使用with创建一个散点图,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")
4

1 回答 1

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))
于 2013-07-07T08:24:50.787 回答