2017-02-22 72 views
0

我想在R中运行anova测试以确定每个品牌的周数是否有差异。我的代码如下:1 Way Anova Test in R不正确df

weeks = c(100,96,92,96,92,76,80,75,84,82,108,100,96,98,100) 
brand = c('a','a','a','a','a','b','b','b','b','b','c','c','c','c','c') 
battery.exp = data.frame(brand, weeks) 
test.1 = aov(battery.exp$weeks~battery.exp$brand) 
summary(test.1) 

我在摘要中得到不正确的结果。品牌的df应该是2,但是我的输出是3.有人知道为什么我会在我的anova测试中得到不正确的结果吗?我也尝试用下列替换倒数第二行:

test.1 = aov(battery.exp$weeks~factor(battery.exp$brand)) 

但这也没有解决问题。有关如何解决的任何建议?

回答

0

默认情况下,使用带截距的模型,这意味着您需要为分类变量使用参考等级,因此您只有两个自由参数。如果你不希望使用拦截,你可以明确地请求与

summary(aov(weeks~brand-1, battery.exp)) 

(注意公式中的-1

+0

或者拦截免费模式,你也可以写'汇总(AOV(周〜品牌+ 0,battery.exp)) ' –