目前忽略模型的基本原理:绘制线条的方式没有任何问题。线条似乎与情节不同的原因是因为您正在估计两个不同的模型。
让我们从你的第一个模型开始,在 wmc 上回归 bug
m1<-lm(wmc~bug,df);summary(m1)
Call:
lm(formula = wmc ~ bug, data = df)
Residuals:
Min 1Q Median 3Q Max
-2.17555 -0.55069 0.00892 0.46091 2.23740
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.93699 0.03057 63.37 <2e-16***
bug 0.84808 0.05926 14.31 <2e-16***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.7508 on 743 degrees of freedom
Multiple R-squared: 0.2161, Adjusted R-squared: 0.215
F-statistic: 204.8 on 1 and 743 DF, p-value: < 2.2e-16
这个模型告诉我们,当在 bug 上回归 wmc 时,bug 的单位增加对应于 wmc 的 0.85 增加(我不知道您测量的原始单位是什么)。如果您查看截距值和线的斜率超过一个单位增加bug,这将反映在图中:
现在在第二个模型中你做相反的事情。你在wmc 上回归bug。
m2<-lm(bug~wmc,df);summary(m2)
Call:
lm(formula = bug ~ wmc, data = df)
Residuals:
Min 1Q Median 3Q Max
-0.74635 -0.26947 -0.09287 0.14058 1.67470
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.31717 0.04077 -7.779 2.44e-14***
wmc 0.25477 0.01780 14.310 < 2e-16***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.4115 on 743 degrees of freedom
Multiple R-squared: 0.2161, Adjusted R-squared: 0.215
F-statistic: 204.8 on 1 and 743 DF, p-value: < 2.2e-16
因此,在这种情况下,wmc 增加 1 个单位对应于 bug 增加 0.25。这也反映在图中,在这种情况下,再次注意在wmc 增加一个单位时线的截距和斜率的值。