完全随机的试验设计例子Word格式.docx
- 文档编号:22766379
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:11
- 大小:23.21KB
完全随机的试验设计例子Word格式.docx
《完全随机的试验设计例子Word格式.docx》由会员分享,可在线阅读,更多相关《完全随机的试验设计例子Word格式.docx(11页珍藏版)》请在冰豆网上搜索。
完全随机设计也叫组间设计,被试对象被分成若干组,每组分别接受一种实验处理,有几种实验处理被试也相应的被分为几组,各实验组的被试之间相互独立,因而又叫“独立组”设计。
1、完全随机试验设计概述1.1完全随机试验设计的含义与特征完全随机设计(completelyrandomdesign,crd)又称单因素试验设计,或成组试验设计,是科学研究中最常用的一种试验设计方法,它是将同质的受试对象随机地分配到n个各处理组中进行实验观察,各组分别接受不同的处理,试验结束后比较各组均值之间的差异有无统计学意义。
完全随机设计的本质是将供试对象随机分组。
这种试验设计保证每供试验对象都有相同机会接受任何一种处理,而不受试验人员主观倾向的影响。
当试验条件特别是试验对象的初始条件比较一致时,可采用完全随机设计。
这种设计应用了重复和随机化两个原则,因此能使试验结果受非处理因素的影响基本一致,真实反映出试验的处理效应。
完全随机设计是一种最简单的设计方法,主要优缺点如下:
1、完全随机设计的主要优点:
(1)试验设计容易
完全随机试验设计适用面广,处理数与重复数都不受限制,但在总样本量不变的情况下,各组样本量相同时设计效率最高。
(2)统计分析简单
无论所获得的试验资料各处理重复数相同与否,都可采用t检验或方差分析法进行统计分析。
当数据缺失时,亦不影响其余数据的统计分析。
2、完全随机设计的主要缺点:
(1)由于未应用试验设计三原则中的局部控制原则,非试验因素的影响被归入试验误差,试验误差较大,试验的精确性较低。
(2)在试验条件、环境、受试对象差异较大时,不宜采用此种设计方法。
(3)完全随机试验设计一次试验只能分析一个因素。
2r语言实现完全随机试验设计的程序在r语言中,可以通过agricolae扩展包中的design.crd()函数来进行完全随机试验设计。
design.crd()函数的基本用法如下:
design.crd(trt,r,serie=2,seed=0,kinds=“super-duper”,randomization=true)
其中主要参数的意义:
trt:
试验组数。
r:
每组重复数。
serie:
design.crd函数返回的对象中,plots是试验对象的顺序号,该顺序号的编排方式由serie取值确定。
serie参数的取值不同,,试验对象的数字标签plots会因此而改变。
(1)serie的值取0,则试验对象的数字标签顺序从1开始,然后是2、3等。
(2)serie的值取1,则试验对象的数字标签顺序从11开始,然后是12、13等。
(3)serie值取2时,试验对象的数字标签顺序从101开始,然后是102,103等。
(4)serie值取3时,试验对象数字标签顺序从1001开始,然后是1002,1003等。
seed:
随机数字种子,设定随机数字种子后,可重现该设计。
kinds:
完全随机的随机化方法,包括:
“wichmann-hill”,“marsaglia-multicarry”,“super-duper”,“mersenne-twister”,“knuth-taocp”,“user-supplied”,“knuth-taocp-2002”,“default”,这些随机化方法的具体算法可参阅相关文献。
完全随机试验设计示例:
19个试验对象,完全随机分为5组,每组的试验对象分别为4,3,5,4,3,下述程序代码就可以实现完全随机试验的方案设计,并将试验方案存贮为excel文件。
setwd(e:
/doewithr.book.data)library(agricolae)library(xlsx)##loadingrequiredpackage:
rjava##loadingrequiredpackage:
xlsxjarstreatment-c(group-1,group-2,group-3,group-4,group-5)replications-c(4,3,5,4,3)outdesign-design.crd(trt=treatment,r=replications,serie=0,seed=2543,kinds=mersenne-twister)design-outdesign$bookdesign##plotsrtreatment##111group-5##221group-3##331group-4##442group-5##552group-3##661group-2##773group-3##884group-3##991group-1##10102group-1##11112group-4##12122group-2##13133group-1##14143group-5##15155group-3##16163group-4##17174group-1##18183group-2##19194group-4#file-paste(getwd(),/完全随机试验设计数据.xlsx,sep=)#write.xlsx(design,file,sheetname=完全随机试验设计示例方案,col.names=true,row.names=false,append=true,showna=true)下面对上述程序每一行代码的具体含义,进行详细解释。
setwd(“e:
/doewithr.book.data”)
设定r语言工作路径。
library(agricolae)
library(xlsx)
上面两行程序分别加载agricolae、xlsx扩展包。
treatment-c(“group-1”,“group-2”,“group-3”,“group-4”,“group-5”)
对5组试验进行命名,分别为group-1,group-2,group-3,group-4,group-5,可以用中文进行命名。
replications-c(4,3,5,4,3)
每一分组中试验对象重复数,即每组样本的样本容量。
outdesign-design.crd(trt=treatment,r=replications,serie=0,seed=2543,kinds=“mersenne-twister”)
通过design.crd函数,进行完全随机试验设计,将试验设计存贮在outdesign对象中,outdesign对象是一个列表,其中包含了很多信息。
可以直接在命令行中输入outdesign对象名称,返回相关信息。
design-outdesign$book
从design.crd函数返回的对象outdesign中提取出试验方案。
file-paste(getwd(),“/完全随机试验设计示例方.xlsx”,sep=“”)
设定导出的excel文件名。
write.xlsx(design,完全随机试验设计示例方.xlsx,sheetname=“完全随机试验设计示例方案”,col.names=true,row.names=false,append=true,showna=true)
通过xlsx扩展包的write.xlsx函数,将完全随机试验设计方案保存为excel文件,其中参数具体含义参考该函数的帮助文件。
2、完全随机试验设计的数据分析对于完全随机试验的统计分析,由于试验处理数不同,统计分析方法也不同。
两个处理的完全随机设计也就是非配对设计,对其试验结果进行统计分析时,无论实际所得资料两处理重复数相同与否均采用t检验法分析。
多组数据一般先进行方差分析,然后再在多组之间进行多重比较,获得组间差异的统计学结果。
1完全随机试验设计两个处理组的t检验处理数为2的两组试验数据,数量资料,通常采用t检验的方法对试验数据进行统计学分析。
下面以r语言datasets包中的数据集sleep为例,说明完全随机试验设计数据的t检验分析方法。
sleep数据集是一项完全随机试验设计的结果数据,该试验是将20名患者随机分为两组,分别使用两种催眠药物治疗,数据集中包含3个变量,extra——用药后睡眠时间增加量,group——分组,id——患者编号。
data(sleep)str(sleep)##data.frame:
20obs.of3variables:
##$extra:
num0.7-1.6-0.2-1.2-0.13.43.70.802...##$group:
factorw/2levels1,2:
1111111111...##$id:
factorw/10levels1,2,3,4,..:
12345678910...sleep##extragroupid##10.711##2-1.612##3-0.213##4-1.214##5-0.115##63.416##73.717##80.818##90.019##102.0110##111.921##120.822##131.123##140.124##15-0.125##164.426##175.527##181.628##194.629##203.4210#计算各个试验组的催眠效果平均值aggregate(sleep$extra,by=list(sleep$group),fun=mean)##group.1x##110.75##222.33#计算各个试验组的催眠效果标准差aggregate(sleep$extra,by=list(sleep$group),fun=sd)##group.1x##111.789****10##222.002249#两组的t检验t.test(extra~group,data=sleep)####welchtwosamplet-test##data:
extrabygroup##t=-1.8608,df=17.776,p-value=0.07939##alternativehypothesis:
truedifferenceinmeansisnotequalto0##95percentconfidenceinterval:
##-3.365****320.2054832##sampleestimates:
##meaningroup1meaningroup2##0.752.33#两组患者服用催眠药物的催眠效果箱线图boxplot(extra~group,data=sleep,xlab=group,ylab=extranumericincreaseinhoursofsleep,main=theeffectoftwosoporificdrugs)t检验结果表明,统计量t=-1.8608,p-value=0.079390.05,说明两种催眠药物的催眠效果无显著差异。
实际上,两组之间均值的比较,同样可以采用方差分析来进行。
下面用方差分析对两种催眠药的催眠效果进行均值比较。
aov.model-aov(extra~group,data=sleep)summary(aov.model)##dfsumsqmeansqfvaluepr(f)##group112.4812.4823.4630.0792.##residuals1864.893.605##---##signif.codes:
0***0.001**0.01*0.05.0.11方差分析结果表明,统计量f值为3.463,方差分析的p值为0.07920.05,说明两种催眠药物的催眠效果无显著差异。
2完全随机试验设计多组的方差分析处理数等于等3的完全随机试验设计,试验数据常常采用方差分析的方法。
下面以multcomp包中自带的cholesterol数据集为例,介绍r语言对完全随机试验设计的数据进行方差分析的一般步骤。
cholesterol数据集中,50个患者接受降脂治疗五种疗法中的一种疗法。
其中三种治疗方法的治疗药物相同,采用不同剂量,分别是20mg一天一次(1time),10mg一天两次(2times)和5mg一天四次(4times),剩下的两种方式(drugd和druge)代表候选药物。
试验研究的目的是要研究哪一种药物疗法降脂效果最好。
library(multcomp)#加载multcomp扩展包##loadingrequiredpackage:
mvtnorm##loadingrequiredpackage:
survival##loadingrequiredpackage:
th.datatable(cholesterol$trt)#各组样本量大小####1time2times4timesdrugddruge##1010101010aggregate(cholesterol$response,by=list(cholesterol$trt),fun=mean)#计算各个试验组的降脂效果平均值##group.1x##11time5.78197##22times9.22497##34times12.37478##4drugd15.36117##5druge20.94752aggregate(cholesterol$response,by=list(cholesterol$trt),fun=sd)#计算各个试验组的降脂效果标准差##group.1x##11time2.878****13##22times3.483****54##34times2.923****19##4drugd3.454****36##5druge3.345****03aov.model-aov(response~trt,data=cholesterol)#检验各组的差异summary(aov.model)##dfsumsqmeansqfvaluepr(f)##trt41351.4337.832.439.82e-13***##residuals45468.810.4##---##signif.codes:
0***0.001**0.01*0.05.0.11anova.tab-function(fm){tab-summary(fm)k-length(tab[[1]])-2temp-c(sum(tab[[1]][,1]),sum(tab[[1]][,2]),rep(na,k))tab[[1]][total,]-temptab}anova.tab(aov.model)#利用自编函数anova.tab,计算方差分析表##dfsumsqmeansqfvaluepr(f)##trt41351.4337.832.439.82e-13***##residuals45468.810.4##total491820.1##---##signif.codes:
0***0.001**0.01*0.05.0.11从程序输出结果可以知道,各组的重复数相等,每组的患者是10个;
均值显示druge组的降脂效果最好,而1times组降脂最少;
各组的标准差相对变化不大,在2.88至3.48之间;
方差分析结果表明p0.0001,说明五种药物疗法的效果不同。
gplots包中的plotmeans函数可以用来绘制带有置信区间的组均值图形。
所绘制的图形展示了带有95%的置信区间的各种不同疗法降脂平均值,可以清楚看到它们之间的差异。
library(gplots)####attachingpackage:
gplots##thefollowingobjectismaskedfrompackage:
stats:
##lowessplotmeans(response~trt,data=cholesterol,p=0.95,xlab=treatment,ylab=response,main=meanplotwith95%ci)2.3完全随机试验设计多组之间的多重比较通过方差分析可以获知,五组受试对象在不同药物治疗方法下,其降脂效果是有明显差异的。
但是究竟哪种疗法与其他疗法不同,方差分析并没有告诉我们,多重比较可以解决这个问题。
tukeyhsd()函数提供了对各组均值差异的成对比较。
tukeyhsd(aov.model)##tukeymultiplecomparisonsofmeans##95%family-wiseconfidencelevel##fit:
aov(formula=response~trt,data=cholesterol)##$trt##difflwruprpadj##2times-1time3.44300-0.658****177.544****820.138****49##4times-1time6.592812.491****8310.694****920.0003542##drugd-1time9.579205.477****8313.6804820.0000003##druge-1time15.1655511.0642****8319.266****320.0000000##4times-2times3.14981-0.951****177.251****920.2050382##drugd-2times6.136202.0349****8310.237****820.0009611##druge-2times11.722557.621****8315.823****320.0000000##drugd-4times2.98639-1.114****177.0876720.251****46##druge-4times8.572744.471****8312.674****220.0000037##druge-drugd5.586351.485****839.687****320.0030633par(las=2)par(mar=c(5,8,4,2))plot(tukeyhsd(aov.model))对于本例,tukeyhsd()输出结果表明,2times-1time、4times-2times、drugd-4times的均值差异不显著,统计学检验的p值分别为0.138****49、0.2050382和0.251****46。
tukeyhsd()函数成组检验的结果还可以通过图形来展示,图形中置信区间包含0的疗法说明差异不显著。
另外,在multcomp扩展包中的glht()函数也提供了多重均值比较的方法,其适应面更广泛。
par(las=1)par(mar=c(5,4,6,2))tuk-glht(aov.model,linfct=mcp(trt=tukey))plot(cld(tuk,level=0.05,col=lightgrey))本例的方差分析结果采用glht()函数获得图形内容更加丰富,图中,有相同字母的组(箱线图)说明均值不显著,这个图形还提供了各组降脂效果的分布信息。
4方差分析假设条件的检验在方差分析一章中,我们对数据能够进行方差分析是有其假设条件的,假设因变量服从正态分布(同分布)、各组方差相等(方差齐)、数据独立。
1、正态性检验
数据的正态性分布可以使用q-q图检验。
可以利用car扩展包中的qqplot()函数绘制q-q图,从图中观察数据是否为正态分布。
library(car)qqplot(lm(response~trt,data=cholesterol),simulate=true,main=q-qplot,labels=false)该图展示了数据的分布情况,数据落在95%的置信区间范围内,说明数据满足正态性假设的前提条件。
2、方差齐性检验
r语言提供了可用来进行方差齐性检验的函数,如bartlett.test()可以进行bartlett检验。
fligner.test()函数可以进行fligner-killeen检验。
car扩展包中的levenetest()函数提供了levene方差齐性检验。
bartlett.test(response~trt,data=cholesterol)####bartletttestofhomogeneityofvariances##data:
responsebytrt##bartlettsk-squared=0.57975,df=4,p-value=0.9653fligner.test(response~trt,data=cholesterol)####fligner-killeentestofhomogeneityofvariances##data:
responsebytrt##fligner-killeen:
medchi-squared=0.74277,df=4,p-value=0.946library(car)levenetest(response~trt,data=cholesterol)##levenestestforhomogeneityofvariance(center=median)##dffvaluepr(f)##group40.07550.9893##45bartlett检验及fligner-killeen检验结果均表明,五组的方差并有显著不同,bartlett检验的p值为0.9653,fligner-killeen检验的p值为0.946,levenetest()函数进行的levene方差齐性检验的p值为0.9893。
认为各处理组的数据满足方差齐性的要求。
三种方差齐性检验方法的结果完全相同。
3、离群点检验
方差分析对离群点非常敏感,因此要检验数据中是否有离群点的存在,以免方差分析有差异的结果是由于存在离群点所引起。
在r语言中,可以用car扩展包中的outliertest()函数进行离群点检验。
library(car)outlierte
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完全 随机 试验 设计 例子
![提示](https://static.bdocx.com/images/bang_tan.gif)