R-方差分析-ch9
当包含的因子(名义型或解释型因子)是解释变量时,我们关注的重点通常会从预测(建立回归模型)转向组别差异的分析,这种分析法称作方差分析(ANOVA)。ANOVA在各种实验和准实验设计的分析中都有广泛应用。
用一个或多个定量变量来拟合和预测另一个定量变量,需要建立回归模型;
当分类变量作为解释变量时,通常不会关注预测,而是关注分类变量带来的不同组间的差异,这时用方差分析。
1、专业术语
例子:研究不同的治疗方案对焦虑症的治疗效果。
治疗方案:认知行为疗法CBT,眼动脱敏再加工法EMDR;
招募10个焦虑症患者;
治疗结束后,每个患者填写一份状态特质焦虑问卷STAI,作为治疗效果评定。
对应的专业术语:
因子:治疗方案。因子分为组间因子和组内因子。组间因子是指每个样本只被分配到一个组别中,此例中要么CBT,要么EMDR。
水平:CBT、EMDR。
STAI是因变量,治疗方案是自变量。此例中,只有一个类别型变量(治疗方案)所以称为单因素方差分析。
ANOVA包括:单因素组间方差分析、单因素组内方差分析
双因素方差分析
混合模型方差分析(同时存在组间因子和组内因子)
多元方差分析(当因变量为多个时)
当存在因子之外的混淆因素时,该混淆因素称为协变量,称为协方差分析(因子和协变量可以理解为分类自变量和连续性自变量)
2、ANOVA模型拟合
(1)aov()函数
(2)表达式中各项的顺序(即:各因子的顺序)
表达式中效应的顺序在两种情况下会造成影响:(a)因子不止一个,并且是非平衡设计;(b)存在协变量。出现任意一种情况时,等式右边的变量都与其他每个变量相关。此时,我们无法清晰地划分它们对因变量的影响。
样本大小越不平衡,效应项的顺序对结果的影响越大。一般来说,越基础性的效应越需要放在表达式前面。具体来讲,首先是协变量,然后是主效应,接着是双因素的交互项,再接着是三因素的交互项,以此类推。对于主效应,越基础性的变量越应放在表达式前面,因此性别要放在处理方式之前。有一个基本的准则:若研究设计不是正交的(也就是说,因子和/或协变量相关),一定要谨慎设置效应的顺序。
注意:car包中的Anova()函数提供了使用类型II或类型III方法的选项,而aov()函数使用的是类型I方法。
3、单因素方差分析
比较类别变量下的各组均值是否有显著性差异。
利用aov()函数进行单因素方差分析;
summary()函数用于显示方差分析结果
(1)多重比较
虽然单因素方差分析的F检验表明5种药物疗法的效果不同,但没告诉你哪种疗法不同,更好,利用多重比较来解决此问题。
方法一:
TukeyHSD()函数提供了对各组均值差异的成对检验,该函数的参数为方差分析的结果
方法二:
multcomp包中的glht()函数提供了多重均值比较更为全面的方法,既适用于线性模型,也适用于广义线性模型。其参数为方差分析的结果。
(2)评估检验的假设条件
进行单因素分析的假定:一是因变量服从正态分布;二是各组方差相等。所以要进行以下检验:
正态性检验:使用Q-Q图
方差齐性检验:Bartlett检验 bartlett.test()函数
Fligner-Killeen检验 fligner.test()函数
Brown-Forsythe检验 HH包中的hov()函数
离群点检验:(因为离群点影响方差齐性检验结果的准确性)car包中的outlierTest()函数
4、单因素协方差分析
单因素协方差分析(ANCOVA)扩展了单因素方差分析(ANOVA),包含一个或多个定量的协变量。
ANCOVA分析使用aov()函数;
由于使用了协变量,你可能想要获取调整的组均值——即去除协变量效应后的组均值。可使用effects包中的effects()函数来计算调整的均值。
multcomp包还可以用来检验用户自定义的均值假设,假如你对未用药条件与其他三种用药条件影响是否不同感兴趣。
(1)评估检验的假设条件:
正态性、同方差性、回归斜率相同。
要对回归斜率的同质性进行检验。若协变量与因子的交互效应不显著,则支持了斜率相等的假设。
(2)结果可视化
使用HH包中的ancova()函数
5、双因素方差分析
方法同单因素方差分析,多重比较和假设检验也同上
对于可视化结果,作者更推荐HH包中的interaction2wt()函数,因为它能展示任意复杂度设计(双因素方差分析、三因素方差分析等)的主效应(箱线图)和交互效应。会展示任意顺序的因子设计的主效应和交互效应。
6、重复测量方差分析
所谓重复测量方差分析,即受试者被测量不止一次。本节重点关注含一个组内和一个组间因子的重复测量方差分析(这是一个常见的设计)。
未读
7、多元方差分析
当因变量(结果变量)不止一个时,可用多元方差分析(MANOVA)对它们同时进行分析。
使用manova()函数
(1)评估假设检验
单因素多元方差分析有两个前提假设,一个是多元正态性,一个是方差—协方差矩阵同质性。
(2)稳健多元方差分析
如果多元正态性或者方差—协方差均值假设都不满足,又或者你担心多元离群点,那么可以考虑用稳健或非参数版本的MANOVA检验。稳健单因素MANOVA可通过rrcov包中的Wilks.test()函数实现。vegan包中的adonis()函数则提供了非参数MANOVA的等同形式。
8、用回归做ANOVA