R语言:单因素方差分析及两两比较

1. 单因素方差分析背景

       前面对于两独立连续变量数据的比较分析,我们知道,如果各组数据符合正态性分布,且两组间方差齐,我们就可以采用t检验进行比较分析两组是否具有统计学差异。当多个独立连续变量样本比较分析时,我们该选用什么方法呢。这就是我们今天要介绍的单因素方差分析。

2. 单因素方差分析方法使用条件——独立、正态、方差齐

  ① 分组≥3,且各组相互独立;  (独立)

  ②各组均来自于正态分布总体;(正态)

  ③各组方差相等;                      (方差齐)

3. R代码

####单因素方差分析举例####
library(survival)
library(car)
lung<-lung   
lung$fenzu<-sample(c(0,1,2), 228, replace=TRUE, prob=c(0.3,0.4,0.4)) #制造数据:分组
lung$zhibiao<-rnorm(228,mean = 100,sd=10)                            #制造数据:分析指标
lung$fenzu<-as.factor(lung$fenzu) 

#正态性检验
shapiro.test(lung$zhibiao[lung$fenzu=="0"])
shapiro.test(lung$zhibiao[lung$fenzu=="1"])
shapiro.test(lung$zhibiao[lung$fenzu=="2"])

#方差齐性检验
leveneTest(lung$zhibiao,lung$fenzu)
fit<-aov(lung$zhibiao~lung$fenzu,data = lung)
model<-summary(fit)
F.value<-model[[1]]$`F value`[1]   #获取模型检验的统计值
P.value<-model[[1]]$`Pr(>F)`[1]    #获取模型检验的P值

library(gplots)#绘制各组均值及其置信区间的图形
plotmeans(lung$zhibiao~lung$fenzu,xlab="ecog",ylab="zhibiao",main="Mean Plot with 95%CI")

####方差分析多重比较####
if (!require(multcomp)) {
  install.packzhibiaos("multcomp")
}
library(multcomp)

#TukeyHSD方法
TukeyHSD(fit)
#par(las=1) #轴文字方向
#par(mar=c(5,8,4,2))#图形边界距离
plot(TukeyHSD(fit)) #两两比较差值的置信区间图 

#Tukey方法
#par(mar=c(5,4,8,2))
tuk<-glht(fit,linfct=mcp(fenzu="Tukey"),alternative="two.side") #"Tukey"是方法。
summary(tuk)
plot(cld(tuk,level=.05),col="lightgrey")  #箱式图

#dunnett方法
dunnett<-glht(fit,linfct=mcp(fenzu="Dunnett"),alternative="two.side")#
summary(dunnett)

#SNK方法
if(!require(agricolae)){
  install.packages('agricolae')
}
library(agricolae)
out<-SNK.test(fit,"fenzu",console=TRUE)
print(SNK.test(fit,"fenzu",group=FALSE))
plotmeans(lung$zhibiao~lung$fenzu,xlab="分组",ylab="年龄",main="Mean Plot with 95%CI") #线图

思考:如果多样本数据不符合单因素方差分析的条件时我们该怎么分析数据?应该用什么方法呢?后续我们将介绍不满足方差分析条件的数据使用的方法:多组样本的秩和检验——Kruskal-Wallis方法。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值