1路Anova测试R不正确df

时间:2017-02-22 04:42:54

标签: r anova

我想在R中进行anova测试,以确定每个品牌的周数是否存在差异。我的代码如下:

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))

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

1 个答案:

答案 0 :(得分:0)

默认情况下使用带截距的模型,这意味着您需要为分类变量使用参考级别,因此您只有两个自由参数。如果您不想使用拦截,则可以使用

显式请求无拦截模型
summary(aov(weeks~brand-1, battery.exp))

(注意公式中的-1