假设我在R中有两个线性模型,如下所示:
lm1 =(x〜a + b)
lm2 =(x〜a + b + c)
我想确定,C对x 的影响是
1)效果的意义
2)效果评估
3)c对x整体变化的贡献(例如c的R平方值分量)
anova(lm1,lm2)为我提供了一个重要数字,但没有提供我需要的其他数字,尤其是上面的3个。
我该如何计算这些数字?
最佳答案
通常的方法是查看anova(lm1, lm2)
和summary(lm2)
,尽管有一个effects
-package可提供其他功能。我不明白您所需要的这些还不够。平方和和自由度的差(如果它是与“c”相加的因子变量)由anova
的输出提供。 “'c'对x的贡献”有点模糊,但是可能意味着系数(由summary(lm2)
提供的x标记为“Estimate”)。当在回归分析中控制“a”和“b”为...时,可能会要求您编写诸如“c对x的变化的贡献”之类的内容。
如果要分解单个模型中的平方和,请看:
anova(lm2)
######
Analysis of Variance Table
Response: Y
Df Sum Sq Mean Sq F value Pr(>F)
X1 1 2.2167 2.21672 4.9554 0.03982 *
X2 1 1.2316 1.23156 2.7531 0.11540
Residuals 17 7.6047 0.44733
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
X1平方和中总平方和的百分比很容易计算。首先查看带有
anova(lm2)
的对象str()
。清单: 100*anova(lm2)[['Sum Sq']][1]/sum(anova(lm2)[['Sum Sq']])
#[1] 20.05545
“用于控制X2的X1的Partial-R ^ 2”(R ^ 2_Y.X1 | X2)为:
anova(lm2)[['Sum Sq']]["X1"]/anova(lm2)[['Sum Sq']][""Residuals"]