R语言中的方差分析

来源 | R友舍

一、单因子方差分析(one-way ANOVA)
1)建模:
我们采用multcomp包中的cholesterol数据集作为例子,其中response为响应变量,trt为预测变量,这个处理中有五种水平。从下面的箱形图中可观察到处理的不同水平对于响应变量的影响。再用aov函数建立单因子方差模型,从结果的P值可看到各组均值有显著不同。

aggregate(response, by=list(trt), FUN=mean)
bwplot(response~trt)
model=aov(response~trt)
summary(model)


640?wx_fmt=jpeg



2)多重比较:
方差分析只告诉我们这五组之间是不同的,但没有告诉我们哪两组之间有明显差别,此时需要使用TukeyHSD函数进行均值的多重比较分析,从结果中观察到有三个两两比较是不显著的。

(result=TukeyHSD(model))
plot(result)


640?wx_fmt=jpeg



3)假设检验:
方差分析需要一定的假设,即数据集应该符合正态和同方差,我们分别用下面的函数来进行检验,从P值观察到这两个假设是符合的。对于不符合假设的情况,我们就要用到非参数方法,例如Kruskal-Wallis秩和检验

shapiro.test(response)
bartlett.test(response~trt)

二、双因子方差分析(Two-way Factorial ANOVA)
我们用ToothGrowth数据集来举例双因子方差分析。其中supp和dose是预测变量,len是响应变量。我们仍然使用aov进行建模,然后使用HH包的绘图函数来展现双因子交互效果图

fit <- aov(len ~ supp*dose)
library(HH)
interaction2wt(len~supp*dose)


640?wx_fmt=jpeg



要注意在下面的情况下因子的先后顺序是有讲究的:

  • 第一种情况是多因子非平衡情况下,此时重要的因子应该放在前面,

  • 第二是在在有协变量情况下,此时协变量放在前面,然后是主因子和交互因子

—————————————

往期精彩:

640?wx_fmt=png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值