单因素方差分析应用条件:
资料为定量资料
分组多于2组
各组变量服从正态分布以及方差齐性
各组变量之间无明显的异常值
数据实例:来自R语言中mulcomp包中的cholesterol数据集,主要比较了五种降低胆固醇的治疗方法(A,B,C,D,E)
引入数据代码:
library(multcomp)
View(cholesterol)
trt为分组变量,response为因变量
本数据只有一个因子,不同的治疗方法,分组为5组,所以组间比较采用单因素方差分析。
首先简单验证单因素分析的适用条件
数据正态分布:适用qq图
library(car)
qqPlot(lm(response~trt,data=cholesterol),simulate=T,main="q-q plot",labels=F)
根据上图,数据基本分布在直线上,基本符合正态分布。
方差齐性:bartlett.test
P值为0.9653,大于0.05,判断符合方差齐性的前提假设。
明显的异常值:outlierTest
P值为NA提示无明显异常值
至此,单因素方差分析的基本条件验证完毕,下面开始进行分析。
对于单因素方差分析,我们首先想知道的就是各组之间的均数和标准差。
library(psych)
describeBy(cholesterol["response"],list(trt=cholesterol\$trt))
上图展示了5组的描述性统计量。可以看出各组均数是有明显的区别。
下面进行单因素方差分析:
结果提示P值显著小于0.05,5组之间差异有统计学意义。
以图形的方式展示各组之间的差异。
library(gplots)
plotmeans(response~trt)
接下来面临的是到底哪几组之间有差异?也就是多重比较。有两种方法。
第一种:
根据上图最后一列,即可知道那两组之间有差异。
可视化展示
par(las=2)
par(mar=c(5,8,4,2))
plot(TukeyHSD(fit))
根据上图,凡是与0有交叉的为无统计学意义。
第二种方法:
library(multcomp)
par(mar=c(5,4,6,2))
TUK<-glht(fit,linfct=mcp(trt="Tukey"))
plot(cld(TUK,level = 0.05),col="lightgrey")
有相同字母的组,组间无明显统计学差异(图顶端)
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.