我想计算标准误差或准确计算一个置信区间 效果编码变量。这是一个最小的例子:
data(mtcars)
mtcars$gearEff <- C(factor(mtcars$gear), sum, 3)
contrasts(mtcars$gearEff)
[,1] [,2]
3 1 0
4 0 1
5 -1 -1
mod1 <- lm(mpg ~ gearEff, data=mtcars)
summary(mod1)
##..truncated output...
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 20.6733 0.9284 22.267 < 2e-16 ***
gearEff1 -4.5667 1.1639 -3.924 0.000492 ***
gearEff2 3.8600 1.2156 3.175 0.003534 **
###...
我现在可以通过以下方式计算gearEff3效果:
-coef(mod1)["gearEff1"] - coef(mod1)["gearEff2"]
0.7066667
有谁知道如何计算置信区间或标准差 对于gearEff3?我的最终目标是用这些数据绘制Foresplot,但我是 无法计算此置信区间。非常感谢帮助。
答案 0 :(得分:2)
由于没有gearEff3,因此不清楚你想要什么。 gearEff1
似乎是3-5比较而gearEff2是4-5比较。 (我不认为你对gearEff3
的计算有任何意义。)看来你想要检查单个交叉因子比较,它可能是4比3的比较?您可以使用TukeyHSD函数生成比较和置信区间,这些区间针对多重比较问题(您可能未被识别)进行调整。
TukeyHSD(aov(mod1))
#----------
Tukey multiple comparisons of means
95% family-wise confidence level
Fit: aov(formula = mod1)
$gearEff
diff lwr upr p adj
4-3 8.426667 3.9234704 12.929863 0.0002088
5-3 5.273333 -0.7309284 11.277595 0.0937176
5-4 -3.153333 -9.3423846 3.035718 0.4295874
请注意,对比度定义并不会影响此输出:
mod2 <- lm(mpg ~ factor(gear), data=mtcars) # standard R treatment contrasts by default
TukeyHSD(aov(mod2))
#--------------------------
Tukey multiple comparisons of means
95% family-wise confidence level
Fit: aov(formula = mod2)
$`factor(gear)`
diff lwr upr p adj
4-3 8.426667 3.9234704 12.929863 0.0002088
5-3 5.273333 -0.7309284 11.277595 0.0937176
5-4 -3.153333 -9.3423846 3.035718 0.4295874
答案 1 :(得分:1)
您可以使用&#34; aov&#34;计算线性模型中因子水平之间差异的标准误差。来自stats
包的功能。然后可以很容易地提取这些图形:
# graphing differences among factor levels (with standard errors)
# require(stats)
m <- lm(mpg ~ gear, data=mtcars)
plot(TukeyHSD(aov(m))) # ?aov
然而,用于绘图的更具信息性的方法是绘制每个因子水平的条件平均结果及其标准误差。这不仅更容易为读者解释,而且符合统计图形应以简约的方式传达尽可能多的信息的原则:
# require(effects)
plot(allEffects(m))