R语言统计分析——方差分析之ANOVA模型拟合

参考资料:R语言实战【第2版】

1、aov()函数

        aov()函数的语法为aov(formula,data=dataframe),下表中列举了表达式中可以使用的特殊符号。其中,y是因变量,字母A、B、C代表因子。如下:

符号用法
~分隔符,左边为响应变量,右边为解释变量。例如,用A、B和C预测y,表达式为y~A+B+C
:表示变量的交互项。例如,用A、B和A与B的交互项来预测y,表达式为y~A+B+A:B
*表示所有可能的交互项。表达式y~A*B*C等同于y~A+B+C+A:B+A:C+B:C+A:B:C
^表示交互项达到某个次数。表达式y~(A+B+C)^2等同于y~A+B+C+A:B+A:C+B:C
.表示包含除因变量晚的所有变量。例如,若一个数据框包含变量y、A、B、C,表达式y~.等同于y~A+B+C

        下表中还列举了常见的研究设计表达式,表中的小写字母表示定量变量,大写字母表示组别因子,Subject是对被试者独有的标识变量。

设计表达式
单因素ANOVAy~A
含单个协变量的单因素ANOVAy~x+A
双因素ANOVA(含交互项)y~A*B
含两个协变量的双因素ANOVAy~x1+x2+A*B
随机化区组y~B+A(其中B是区组因子)
单因素组内ANOVAy~A+Error(Subject/A)
含单个组内因子(W)和单个组间因子(B)的重复测量ANOVAy~B*W+Error(Subject/W)

2、aov()函数表达式中各项的顺序

        表达式中效应的顺序在两种情况下会造成影响:①因子不止一个,且是非平衡设计;②存在协变量。出现任意一种情况时,等式右边的变量都与其他每个变量相关。此时,我们无法清晰地划分它们对因变量的影响。例如,对于双因素方差分析,若不同处理方式中的观测数不同,那么模型y~A*B与模型y~B*A的结果不同。

        R语言模型类型Ⅰ方法计算ANOVA效应。第一个模型可以这样写:y~A+B+A:B。R语言中ANOVA表的结果将评价:

        ①A对y的影响;

        ②控制A时,B对y的影响;

        ③控制A和B的主效应时,A与B的交互效应。

        当自变量与其他自变量或协变量相关时,没有明确的方法可以评价自变量对因变量的贡献。例如,含因子A、B和因变量y的双因素不平衡因子设计,有三种效应:A的主效应、B的主效应、A和B的交互效应。假如我们正式用下面的表达式对数据进行建模:

        y~A+B+A:B

        有三种类型的方法可以分解等式右边各效应对y所解释的方差。

(1)类型Ⅰ(序贯型)

        效应根据表达式中先出现的效应做调整。如上式中:A不做调整,B根据A做调整,A:B交互项根据A和B调整。

(2)类型Ⅱ(分层型)

        效应根据同水平或低水平的效应做调整。A根据B调整,B依据A调整,A:B交互项同时根据A和B调整。

(3)类型Ⅲ(边界型)

        每个效应根据模型其他各效应做相应调整。A根据B和A:B做调整,A:B交互项根据A和B调整。

        R语言默认调用类型Ⅰ方法,而SAS和SPSS默认调用类型Ⅲ方法

        样本大小越不平衡,效应项的顺序对结果的影响越大。一般来说,越基础性的效应越需要放到表达式前面。具体来讲:首先是协变量,然后是主效应,接着是双因素的交互项,再是三因素的交互项,以此类推。对于主效应,越基础性的变量越应放在表达式前面,比如性别因子要放在处理方式的前面。有一个基本的准则:若研究设计不是正交(也就是说,因子和/或协变量相关),一定要谨慎设置效应的顺序

        注意:car包中的Anova()函数(不要与标准anova()函数混淆)提供了使用类型Ⅱ或类型Ⅲ方法的选项,而aov()函数使用的是类型Ⅰ方法。若想使结果与其他软件(如SAS和SPSS)提供的结果一致,可以使用car包中的Anova()函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值