r library car_R 语言教程:方差分析与多重比较

医学研究的R语言应用(4): 方差分析与多重比较

1. 研究实例

在评价某临床新药耐受性及安全性的2a期临床试验中,对符合纳入标准的30名健康自愿者随机分为3组,每组10名。各组注射剂量分别为0.5U、1U、2U,观察48小时部分凝血活酶时间(s),试问不同剂量的部分凝血活酶时间有无不同?数据库见time48.sav(SPSS格式)

r library car_R 语言教程:方差分析与多重比较_第1张图片

2. 数据导入和基本分析

#加载必要的包

library(foreign) # 第1篇介绍

library(nortest) # 第1篇介绍

library(CBCgrps) # 第2篇介绍

library(tidyverse) # 第1篇介绍

library(car)  #用于方差齐性检验

#导入数据

e4=read.spss("time48.sav")  #读取数据集

e4

# 浏览数据变量结构

str(e4)

r library car_R 语言教程:方差分析与多重比较_第2张图片

#利用函数整体进行快速统计描述

fun1

  median

  mean

  IQR

  sd

  y5

  return(y5)

}

fun1(e4$time,e4$group)

# 此处也可以利用dplyr函数进行

r library car_R 语言教程:方差分析与多重比较_第3张图片

#进行两组数据的正态性检验

tt

#绘制箱式图来看看看数据的变异程度

boxplot(time~group,data=e4)

r library car_R 语言教程:方差分析与多重比较_第4张图片

4. 方差分析

用于多个试验组与一个对照组间的比较。R语言中可利用multcomp包中的glht()函数进行包括

方差齐性检验

leveneTest(time~group,data=e4)# spss采用方法,推荐

r library car_R 语言教程:方差分析与多重比较_第5张图片

# 方差分析

 fit

 summary(fit)

r library car_R 语言教程:方差分析与多重比较_第6张图片

# 方差不齐时的welch检验

 oneway.test(time ~ group, data =e4, var.equal = F)

r library car_R 语言教程:方差分析与多重比较_第7张图片

5. 多重比较

R语言可以进行多种多重比较方法。不过,部分多重比较方法并不如SPSS友好,两两比较的P往往不提供。 (1)LSD法 LSD法在R语言中可利用agricolae包中的LSD.test函数实现,其调用格式为: LSD.test(y, trt, DFerror, MSerror, alpha = 0.05, p.adj=c("none","holm","hommel", "hochberg", "bonferroni", "BH", "BY", "fdr"), …) 其中y为方差分析对象,trt为要进行多重比较的分组变量,p.adj可以选定P值矫正方法。当p.adj=”none”时,为LSD法,p.adj="bonferroni"时为Bonferroni法。 library(agricolae) out summary(out) #展示所有结果 out$group#多重比较的关键结果 r library car_R 语言教程:方差分析与多重比较_第8张图片 运行结果并不提供P值,只提供归类结果,具有相同英文字母者表示没有统计学差异。本案例分析结果显示:1 单位剂量与2单位剂量存在着统计学差异,1单位和0.5单位剂量存在着统计学差异,0.5 单位剂量与2单位剂量存在无统计学差异。 (2) Bonferroni法 它是Bonferroni校正在LSD法上的应用。将LSD.test中p.adj设置为"bonferroni"即为Bonferroni法。 out summary(out) out$group#结果显示 运行结果与LSD法类似,不再展示。 (3)Dunnett检验 用于多个试验组与一个对照组间的比较。R语言中可利用multcomp包中的glht()函数进行包括Dunnett检验在内的多种检验,其调用格式为: glht(model, linfct, alternative = c("two.sided", "less", "greater"), ...) 其中model为方差分析对象,linfct设置要进行多重比较的分组变量和方法。 library(multcomp) out summary(out) 程序运行结果: r library car_R 语言教程:方差分析与多重比较_第9张图片 (4)SNK法(Student-Newman-Keuls) 实质上是根据预先制定的准则将各组均数分为多个子集, 利用Studentized Range分布来进行假设检验。SNK法可用agricolae包中的SNK.test()函数实现,其调用格式为: SNK.test(y, trt, alpha = 0.05, …) 其中y为方差分析对象,trt为要进行多重比较的分组变量 library(agricolae) out out$group#结果显示 程序运行结果与LSD.test类似。 (5)Turkey检验 使用学生化的范围统计量进行组间所有成对比较。Tukey的检验特点:所有各组的样本数相等;各组样本均数之间的全面比较;可能产生较多的假阴性结论。 R中Turkey检验检验的函数为TukeyHSD(model),其调用格式为: TukeyHSD(model) 其中model为方差分析对象 tuk=TukeyHSD(fit) tuk plot(tuk) 程序运行结果: r library car_R 语言教程:方差分析与多重比较_第10张图片 (6)Duncan法(新复极差法)(SSR) 指定一系列的“range”值,逐步进行计算比较得出结论。 Duncan法可用agricolae包中的duncan.test()函数实现,其调用格式为: duncan.test(y, trt, …) 其中y为方差分析对象,trt为要进行多重比较的分组变量 (7)Scheffe检验 Scheffe法为均值的所有可能的成对组合执行并发的联合成对比较。使用F取样分布。可用来检查组均值的所有可能的线性组合,而非仅限于成对组合。Scheffe检验特点:各组样本数相等或不等均可以,但是以各组样本数不相等使用较多;如果比较的次数明显地大于均数的个数时,Scheffe法的检验功效可能优于Bonferroni法 Scheffe法可用agricolae包中的scheffe.test()函数实现,其调用格式为: scheffe.test(y, trt, …) 其中y为方差分析对象,trt为要进行多重比较的分组变量 4fba98352ac7b99d9de6f0a197eb300c.png 医学研究R语言应用系列(点击即可学习) 0. R语言基础课程:30天学会R语言 1.正态性检验与判断 ( R教程 SPSS教程 ) 2.CBCgrps包的妙用 3.两样本t检验 ( R教程 SPSS教程 ) 4.两样本秩和检验 ( R教程 SPSS教程) “R语言教程”系列课程“”推出SPSS教程的姊妹课程,针对同样的数据,开展统计分析。 相关R代码可关注公众号,发送关键词“SPSS”至公众号,即可获得免费下载。

r library car_R 语言教程:方差分析与多重比较_第11张图片

欢迎关注,本号为论文写作与统计学习社群

有统计问题或科研合作请关注后加小编微信

你可能感兴趣的:(r,library,car,R语言,echarts4r,不显示图形,R语言,包,r语言,悲观剪枝)