我正在使用数据集(Panel)。
使用此数据集,我会执行以下操作:
1)
ols <-lm(CapNormChange ~ Policychanges, data=Panel) summary(ols)
plot(Panel$CapNormChange, Panel$Policychanges,
pch=19, xlab="CapNormChange", ylab="Policychanges")
abline(lm(Panel$CapNormChange~Panel$Policychanges),lwd=3, col="blue")
和2)
p2 <- ggplot(data = Panel, mapping = aes(x = CapNormChange, y = Policychanges))
p2 + geom_point(alpha=0.3) + geom_smooth(method = "lm", se=F, color="orange")
我认为第一个图的胚芽平滑线和斜线的斜率是相同的,并且也对应于OLS回归中因变量(Policychanges)的参数。
但事实并非如此!相反,ggplot具有更高的拦截(我为不同的数据集测试了它)。我真的不明白这个,请问有人给点建议吗?
答案 0 :(得分:2)
在1)中,您使用CapNormChange
作为y变量,使用Policychanges
作为x变量。它总是y ~ x
。这与您在plot
命令中执行的操作不匹配。在2)你反过来做。
OLS回归假设只有y值具有相关的错误。因此,交换x和y会改变拟合。如果您想从两者获得相同的结果,则需要orthogonal regression。