与直觉相反,这不是breaks
whenwool=="A"
和的平均值tension=="L"
。
data(warpbreaks)
aggregate(breaks ~ wool + tension, warpbreaks, mean)
# wool tension breaks
# 1 A L 44.55556
# 2 B L 28.22222
# 3 A M 24.00000
# 4 B M 28.77778
# 5 A H 24.55556
# 6 B H 18.77778
正如@Macro 在他的评论中解释的那样,这在很大程度上取决于您适合的模型。如果您拟合完整模型(带有交互项),您将得到以下结果:
lm(breaks ~ wool * tension, data=warpbreaks)
#
# Call:
# lm(formula = breaks ~ wool * tension, data = warpbreaks)
#
# Coefficients:
# (Intercept) woolB tensionM tensionH woolB:tensionM
# 44.56 -16.33 -20.56 -20.00 21.11
# woolB:tensionH
# 10.56
现在截距是breaks
whenwool=="A"
和的平均值tension=="L"
。
这是因为在完整模型中,每个案例有一个参数(您可以检查总共 6 个参数),而在加法模型中,参数少于案例(总共 4 个参数)。
即使截距不是平均值,请注意when和 when的平均值之间的差异等于参数breaks
wool=="B"
wool=="A"
woolB
aggregate(breaks ~ wool, data=warpbreaks, mean)
# wool breaks
# 1 A 31.03704
# 2 B 25.25926
25.25926 - 31.03704
# [1] -5.77778
同样,您可以检查同样适用于tension
.
aggregate(breaks ~ tension, data=warpbreaks, mean)
# tension breaks
# 1 L 36.38889
# 2 M 26.38889
# 3 H 21.66667
26.38889 - 36.38889
# [1] -10
21.66667 - 36.38889
# [1] -14.72222
总之,当您拟合加性模型(无交互项)时,参数是每个类别(只有一个因子)的平均值之差,截距是每个因子的第一个模态下的响应变量的估计值可加性的假设。
如果加性不成立,这个估计可能不合理。您可以通过测试交互项的无效性来了解这个假设是否合理。
anova(lm(breaks ~ wool*tension, data=warpbreaks))
# Analysis of Variance Table
#
# Response: breaks
# Df Sum Sq Mean Sq F value Pr(>F)
# wool 1 450.7 450.67 3.7653 0.0582130 .
# tension 2 2034.3 1017.13 8.4980 0.0006926 ***
# wool:tension 2 1002.8 501.39 4.1891 0.0210442 *
# Residuals 48 5745.1 119.69
# ---
# Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
如您所见,检验的 p 值为 0.021,这意味着交互项可能无法忽略,加性模型的截距估计可能没有意义。