我对变量X与Y进行了一系列线性回归。模型为Y = f(X),截距强制为0.我在R下计算得到它并得到结果。
后来,我再次在Excel上做了一些相同的线性回归(作为控件,第一次在R中)。我获得了略微不同的结果(斜率有时不同,R平方值较低)。我不知道它来自哪里,我的第一个假设是我在R上编码错误。
这是R代码(包含一些数据):
X=c(513,474,313,449,401,266,542,522,391,498,446,279)
Y=c(446,439,344,393,345,209,478,482,315,440,401,278)
reg_lin=lm(Y ~ X + 0)
slope=round(summary(reg_lin)$coefficients[1], digits=4)
reg_R2=round(summary(reg_lin)$r.squared, digits=3)
print(slope)
# 0.8946
print(reg_R2)
# 0.996
# to be used (I let it in case it’s relevant, as it shows later use of confidence intervals)
# seq_IC95=seq(from=0, to=542, by=1) # 542 is the max of Y
# IC95=predict(reg_lin, newdata = data.frame(X = seq_IC95), interval = "confidence", level = 0.95)
使用相同的X和Y,我在Excel中获得了以下结果(绘图上的线性回归,截取强制为0): - 斜率= 0.8946 - R平方= 0.899
在这种情况下,R和Excel中的斜率相同,但R平方略有不同。关于在哪里检查/纠正什么的任何建议?