内容
- ANOVA 定义
- 使用ANOVA目的
- 三种常见的ANOVA
- R中应用ANOVA
ANOVA 定义
Analysis of variance缩写成为ANOVA。中文叫做,变方分析或者变异数分析。使用ANOVA目的
研究人员或者学生可以以不同的方法使用ANOVA检验。AVOVA的是用需要结合自己的研究设计。ANOVA分析是用来鉴定实验结果或者调查结果的差异显著性,就是比较两组数据直接是不是存在差异。三种常见的ANOVA
ANOVA有三种使用方法,分别是one-way ANOVA, two-way ANOVA, 和N-way ANOVA。
one-way ANOVA:当使用one-way ANOVA时候只会有一个独立变量。比如,评估不同国家的IQ水平。这里国家可以是2个,也可以是20个。所以国家就是一个独立变量
two-way ANOVA (factorial ANOVAs):当使用two-way ANOVA时候会有两个不同的变量。比如,评估不同国家的IQ,同时还要比较不同性别的IQ。IQ:the dependent variable
国家:independent variable 1,性别:independent variable 2
N-way ANOVA: 当有更多的独立变量时候,应该采用N-way ANOVA。n就是独立变量的数目。比如,同时分析不同国家的,性别的,年龄阶段的,种族的,潜在的智商IQ差异。
-
R中应用ANOVA
单因素方差分析。
以moltcomp包中的cholesterol数据集为例,50个患者接受低胆固醇药物的治疗(trt),一共五种不同疗法。分析五种药物治疗方法效果是否不同。
library(multcomp)
attach(cholesterol)
##
head(cholesterol)
dim(cholesterol)
table(trt) # 5 different group
##
> aggregate(response,by=list(trt), FUN=mean) # mean value of response for each group
Group.1 x
1 1time 5.78197
2 2times 9.22497
3 4times 12.37478
4 drugD 15.36117
5 drugE 20.94752
> aggregate(response,by=list(trt), FUN=sd) # sta value of response for each group
Group.1 x
1 1time 2.878113
2 2times 3.483054
3 4times 2.923119
4 drugD 3.454636
5 drugE 3.345003
## ANOVA
fit = aov(response~ trt)
summary(fit)
Df Sum Sq Mean Sq F value Pr(>F)
trt 4 1351.4 337.8 32.43 9.82e-13 ***
Residuals 45 468.8 10.4
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
## plot
library(gplots)
plotmeans(response ~ trt, xlab="Treatment", ylab="Response", main= "Mean Plot \nwith 95% CI")
detach(cholesterol)
结论:ANOVA对治疗方法(trt)的F检验非常显著(p<0.0001),说明了五种治疗方法的效果不同。
多重比较
ANOVA对各种疗法的F检验表明了五种药物的疗法是不同的,但是不能揭露哪种疗法与其他疗法不同。下面通过多重比较来解决这个问题。TukeyHSD
函数提供了对各组均值差异的成对检验。
> TukeyHSD(fit)
Tukey multiple comparisons of means
95% family-wise confidence level
Fit: aov(formula = response ~ trt)
$trt
diff lwr upr p adj
2times-1time 3.44300 -0.6582817 7.544282 0.1380949
4times-1time 6.59281 2.4915283 10.694092 0.0003542
drugD-1time 9.57920 5.4779183 13.680482 0.0000003
drugE-1time 15.16555 11.0642683 19.266832 0.0000000
4times-2times 3.14981 -0.9514717 7.251092 0.2050382
drugD-2times 6.13620 2.0349183 10.237482 0.0009611
drugE-2times 11.72255 7.6212683 15.823832 0.0000000
drugD-4times 2.98639 -1.1148917 7.087672 0.2512446
drugE-4times 8.57274 4.4714583 12.674022 0.0000037
drugE-drugD 5.58635 1.4850683 9.687632 0.0030633
可以看到2times和1time的均值差异不显著(p=0.138),而1time和4times均值差异非常显著(p=0.00035;p<0.001)。
成对比图型如下。
plot(TukeyHSD(fit))
library(multcomp)
par(las=1)
par(mar=c(5,8,4,2))
tuk = glht(fit, linfct=mcp(trt="Tukey"))
plot(cld(tuk,level=.05),col="lightblue")