假设我在 R 中有两个线性模型,使得:
lm1 = (x ~ a + b)
lm2 = (x ~ a + b + c)
我要确定 c 对 x 的影响 按照
1) 效果显着性
2) 效果估计
3) c 对 x 整体变化的贡献(例如 R 平方值的 c 分量)
方差分析(lm1,lm2)为我提供了一个重要数字,但没有提供我需要的其他数字,尤其是上面的 3 个。
我该如何计算这些数字?
最佳答案
通常的方法是查看 anova(lm1, lm2)
并在 summary(lm2)
,虽然有一个 effects
- 可能提供额外容量的包。我不明白你需要的那些是不够的。 anova
的输出提供了平方和和自由度的差异(如果它是伴随“c”相加的因子变量) . “'c' 对 x 的贡献”有点含糊,但可能意味着系数(标记为 summary(lm2)
提供的 x 的“估计”)。你可能会被要求写一些类似“当在回归分析中控制“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
“X1 控制 X2 的部分 R^2”(R^2_Y.X1|X2)是:
anova(lm2)[['Sum Sq']]["X1"]/anova(lm2)[['Sum Sq']][""Residuals"]
关于r - 比较 R 中的两个线性模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15013517/