双因子方差分析:R中的双因子ANOVA

Source: http://www.r-bloggers.com/two-way-analysis-of-variance-two-way-anova-in-r/

 

单因子方差分析是验证多个群组均值是否相等的非常有用的技术。但一些更复杂的问题这个技术就无能为力了。例如,有时需要考虑变异的两个因子来决定群组之间的平均依赖于群组分类(“zone”),还是第二级需考虑的变量(“block”)。在这个情形中应该使用双因子方差分析(双因子ANOVA)。

我们立刻以一个例子开始,以便于理解这个统计方法。收集的数据组织在双项表(double entry tables)中。

-------------------------------------------------------

公司董事收集了5年的收入(thousand dollars),而每年都统计到每个月份。你想看看收入是依赖于年呢,还是依赖于月份,或者与这两个因素都无关。

理论上,这个问题可以用horizontal ANOVA和vertical ANOVA来解决,以便于验证每年的平均收入是否相同,或者由月份计算的平均收入是否相等。这需要许多计算,因而我们更愿意用双因子ANOVA,能够及时提供结果。这是已统计的收入表,分别由年和月份分类:

Revenue
MonthsYear1Year2Year3Year4Year5
Jan1518222324
Feb2225151514
Mar1822151921
Apr2315141718
May2315261814
Jun121511108
Jul2612231518
Aug1917152010
Sep1514181920
Oct1418101223
Nov1422191711
Dec2123111814

首先将数据录入,然后创建月份和年两个维度的因子变量:

revenue = c(15,18,22,23,24, 22,25,15,15,14, 18,22,15,19,21, 
         23,15,14,17,18, 23,15,26,18,14, 12,15,11,10,8, 26,12,23,15,18, 
         19,17,15,20,10, 15,14,18,19,20, 14,18,10,12,23, 14,22,19,17,11, 
         21,23,11,18,14)
months = gl(12,5)
years = gl(5, 1, length(revenue))


现在就拟合线性模型和产生ANOVA表:

fit = aov(revenue ~ months + years)

anova(fit)

Analysis of Variance Table

Response: revenue
          Df Sum Sq Mean Sq F value Pr(>F)
months    11 308.45   28.04  1.4998 0.1660
years      4  44.17   11.04  0.5906 0.6712
Residuals 44 822.63   18.70  


这样来解释结果:

不同月份之间差异额显著性为:F=1.4998。这个值比查表值低,并且p-value>0.05。因此我们接受null hypothesis,即根据月份来评估的收入均值都相等,所以变量“月份”在收入上没有影响。

不同年之间差异额显著性为:F=0.5906。这个值比查表值低,并且p-value>0.05。因此我们接受null hypothesis,即根据年来评估的收入均值都相等,所以变量“年”在收入上没有影响。

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值