在评价某临床新药耐受性及安全性的2a期临床试验中,对符合纳入标准的30名健康自愿者随机分为3组,每组10名。各组注射剂量分别为0.5U、1U、2U,观察48小时部分凝血活酶时间(s),试问不同剂量的部分凝血活酶时间有无不同?数据库见time48.sav(SPSS格式)
#加载必要的包
library(foreign) # 第1篇介绍
library(nortest) # 第1篇介绍
library(CBCgrps) # 第2篇介绍
library(tidyverse) # 第1篇介绍
library(car) #用于方差齐性检验
#导入数据
e4=read.spss("time48.sav") #读取数据集
e4<-as.data.frame(e4)
# 浏览数据变量结构
str(e4)
#利用函数整体进行快速统计描述
fun1<-function(x1,x2){
median<-tapply(x1,x2,median)
mean<-tapply(x1,x2,mean)
IQR<-tapply(x1,x2,IQR)
sd<-tapply(x1,x2,sd)
y5<-cbind(median,mean,IQR,sd)
return(y5)
}
fun1(e4$time,e4$group)
# 此处也可以利用dplyr函数进行
#进行两组数据的正态性检验
tt<-tapply(e4$time,e4$group,shapiro.test)
#绘制箱式图来看看看数据的变异程度
boxplot(time~group,data=e4)
用于多个试验组与一个对照组间的比较。R语言中可利用multcomp包中的glht()函数进行包括
方差齐性检验
leveneTest(time~group,data=e4)# spss采用方法,推荐
# 方差分析
fit<-aov(time~group,data = e4)
summary(fit)
# 方差不齐时的welch检验
oneway.test(time ~ group, data =e4, var.equal = F)
R语言可以进行多种多重比较方法。不过,部分多重比较方法并不如SPSS友好,两两比较的P往往不提供。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法。out <- LSD.test(fit,"group", p.adj="none")运行结果并不提供P值,只提供归类结果,具有相同英文字母者表示没有统计学差异。本案例分析结果显示:1 单位剂量与2单位剂量存在着统计学差异,1单位和0.5单位剂量存在着统计学差异,0.5 单位剂量与2单位剂量存在无统计学差异。它是Bonferroni校正在LSD法上的应用。将LSD.test中p.adj设置为"bonferroni"即为Bonferroni法。out <- LSD.test(fit,"group", p.adj="bonferroni")用于多个试验组与一个对照组间的比较。R语言中可利用multcomp包中的glht()函数进行包括Dunnett检验在内的多种检验,其调用格式为:glht(model, linfct, alternative = c("two.sided", "less", "greater"), ...)其中model为方差分析对象,linfct设置要进行多重比较的分组变量和方法。out <- glht(fit,linfct = mcp(group = 'Dunnett'), alternative = 'two.side')(4)SNK法(Student-Newman-Keuls)实质上是根据预先制定的准则将各组均数分为多个子集, 利用Studentized Range分布来进行假设检验。SNK法可用agricolae包中的SNK.test()函数实现,其调用格式为:SNK.test(y, trt, alpha = 0.05, …)其中y为方差分析对象,trt为要进行多重比较的分组变量out <- SNK.test(fit,"group")使用学生化的范围统计量进行组间所有成对比较。Tukey的检验特点:所有各组的样本数相等;各组样本均数之间的全面比较;可能产生较多的假阴性结论。R中Turkey检验检验的函数为TukeyHSD(model),其调用格式为:指定一系列的“range”值,逐步进行计算比较得出结论。Duncan法可用agricolae包中的duncan.test()函数实现,其调用格式为:其中y为方差分析对象,trt为要进行多重比较的分组变量Scheffe法为均值的所有可能的成对组合执行并发的联合成对比较。使用F取样分布。可用来检查组均值的所有可能的线性组合,而非仅限于成对组合。Scheffe检验特点:各组样本数相等或不等均可以,但是以各组样本数不相等使用较多;如果比较的次数明显地大于均数的个数时,Scheffe法的检验功效可能优于Bonferroni法Scheffe法可用agricolae包中的scheffe.test()函数实现,其调用格式为:其中y为方差分析对象,trt为要进行多重比较的分组变量
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。