R语言中的t-test和ANOVA组员:程琪张君颀周祎炜IndexT-testANOVA单因子方差分析同时置信区间双因子方差分析有交互作用的方差分析多重t-test分析Vasishth’sHeightExampleSAMP={53.56797,60.12001,59.85700,63.53580,62.00390,61.80454,64.33530,61.38428,60.05831,65.93938,57.21961}Shrinkingdrug(non-effectvalue=64)deviationstandardmeanscoreZ大部分情况下我们并不知道σ——T分布pt(-3.02,df=10)+(1-pt(3.02,df=10))[1]0.01289546Vasishth’sHeightExampleThep-valueofthistwo-sidedt-testis0.012.samp-c(53.56797,60.12001,59.857,63.5358,62.0039,61.80454,+64.3353,61.38428,60.05831,65.93938,57.21961)t.test(samp,mu=64)OneSamplet-testdata:sampt=-3.0237,df=10,p-value=0.01281alternativehypothesis:truemeanisnotequalto6495percentconfidenceinterval:58.6039663.18260sampleestimates:meanofx60.89328source(file=shade.tails.R)shade.tails(3.02,tail=both,df=10)曲线下小于-3.02只有0.06%通过KeithJohnson’sshade.tails这个功能绘图.t.test()的调用格式t.test(x,y=NULL,alternative=c(two.sided,less,greater),mu=0,paired=FALSE,var.equal=FALSE,conf.level=0.95,...)若仅出现数据x,则进行单样本t检验;若出现数据x和y,则进行二样本的t检验alternative=c(two.sided,less,greater)用于指定所求置信区间的类型;alternative=two.sided是缺省值,表示求置信区间alternative=less表示求置信上限;alternative=greater表示求置信下限.mu表示均值,它仅在假设检验中起作用,默认值为零.单正态总体参数检验x-c(175,176,173,175,174,173,173,176,173,179)t.test(x)OneSamplet-testdata:xt=283.8161,df=9,p-value2.2e-16alternativehypothesis:truemeanisnotequalto095percentconfidenceinterval:173.3076176.0924sampleestimates:meanofx174.7t.test(x)$conf.int#置信区间[1]173.3076176.0924attr(,conf.level)[1]0.95两正态总体参数检验x-c(20.5,19.8,19.7,20.4,20.1,20.0,19.0,19.9)y-c(20.7,19.8,19.5,20.8,20.4,19.6,20.2)t.test(x,y,var.equal=TRUE)TwoSamplet-testdata:xandyt=-0.8548,df=13,p-value=0.4081alternativehypothesis:truedifferenceinmeansisnotequalto095percentconfidenceinterval:-0.76842490.3327106sampleestimates:meanofxmeanofy19.9250020.14286原假设的显著性检验x-c(20.5,18.8,19.8,20.9,21.5,19.5,21.0,21.2)y-c(17.7,20.3,20.0,18.8,19.0,20.1,20.0,19.1)t.test(x,y,paired=TRUE)Pairedt-testdata:xandyt=1.8002,df=7,p-value=0.1149alternativehypothesis:truedifferenceinmeansisnotequalto095percentconfidenceinterval:-0.32137572.3713757sampleestimates:meanofthedifferences1.025Better-than-advertisedgasmileage某地区上市SUV车,广告宣传一加仑跑17米,消费者协会认为实际上没有达到广告宣传。为了测试,讲SUV灌满油记录里程数。重复十次获得十个数据。mpg-c(11.4,13.1,14.7,14.7,15,15.5,15.6,15.9,16,16.8)xbar-mean(mpg)s-sd(mpg)n-length(mpg)c(xbar,s,n)[1]14.8700001.57201210.000000SE-s/sqrt(n)(xbar-17)/SE[1]-4.284732pt(-4.285,df=9,lower.tail=T)[1]0.001017478t.test(mpg,mu=17,alternative=less)ANOVA方差分析(analysisofvariance,简写为ANOVA)是生产和科学研究中分析试验数据的一种有效的统计方法。引起观测值不同(波动)的原因主要有两类:一类是试验过程中随机因素的干扰或观测误差所引起不可控制的的波动;另一类则是由于试验中处理方式不同或试验条件不同引起的可以控制的波动。方差分析的主要工作就是将观测数据的总变异(波动)按照变异的原因的不同分解为因子效应与试验误差,并对其作出数量分析,比较各种原因在总变异中所占的重要程度,以此作为进一步统计推断的依据.aov()的调用格式aov(formula,data=NULL,projections=FALSE,qr=TRUE,contrasts=NULL,...)formula是方差分析的公式,在单因素方差分析中它表示为xA,data是数据框,其它参见在线帮助单因子方差分析以淀粉为原料生产葡萄的过程中,残留许多糖蜜,可作为生产酱色的原料.在生产酱色的过程之前应尽可能彻彻底底除杂,以保证酱色质量.为此对除杂方法进行选择.在实验中选用5种不同的除杂方法,每种方法做4次试验,即重复4次,结果见表1表1不同除杂方法的除杂量除杂方法Ai除杂量Xij均量XiA125.622.228.029.826.4A224.430.029.027.527.7A325.027.723.032.227.0A428.828.031.525.928.6A520.621.222.021.221.3X-c(25.6,22.2,28.0,29.8,24.4,30.0,29.0,27.5,25.0,27.7,23.0,32.2,28.8,28.0,31.5,25.9,20.6,21.2,22.0,21.2)#数据A-factor(rep(1:5,each=4))#分组#输出A=(111122223333……5555)miscellany-data.frame(X,A)#拼接aov.mis-aov(X~A,data=miscellany)#进行anovasummary(aov.mis)输出结果DfSumSqMeanSqFvaluePr(F)A4131.95732.9894.30610.01618*Residuals15114.9157.661---Signif.codes:0'***'0.001'**'0.01'*'0.05'.'0.1''1说明:上述结果中,Df表示自由度;sumSq表示平方和;MeanSq表示均方和;Fvalue表示F检验统计量的值,即F比;Pr(F)表示检验的p值;A就是因素A;Residuals为残差.可以看出,F=4.3061〉F0.05(5-1,20-5)=3.06,或者p=0.016180.05,说明有理由拒绝原假设,即认为五种除杂方法有显著差异.据上述结果可以填写下面的方差分析表:方差来源自由度平方和均方和F比p值因素A4131.95732.9894.30610.01618误差15114.9157.661总和19246.872再通过函数plot()绘图可直观描述5种不同除杂方法之间的差异,R中运行命令plot(miscellany$X~miscellany$A)得到图8.1.从图形上也可以看出,5种除杂方法产生的除杂量有显著差异,特别第5种与前面的4种,而方法1与3,方法2与4的差异不明显.同时置信区间:Tukey法若经前面的F检验,H0:ɑ1=……=ɑr被拒绝了,则因子A的r个水平的效应不全相等,这时我们希望对效应之差®i®jpijq作出置信区间,由此了解哪一些效应不相等.这里仅介绍一种基于学生化极差分布的TUKEY方法.这是J.W.Tukey(1952)提出的一种多重比较方法,是以试验错误率为标准的,又称真正显著差(honestysignificientdifference,HSD)法.在R软件中,函数qtukey()用于计算q分位数,函数TukeyHSD()用于计算同时置信区间,其调用格式为说明:x为方差分析的对象,which是给出需要计算比较区间的因子向量,ordered是逻辑值,如果为true,则因子的水平先递增排序,从而使得因子间差异均以正值出现.conf.level是置信水平.TukeyHSD(x,which,ordered=FALSE,conf.level=0.95...)使用方法TukeyHSD(aov(X~A,sales))例:某商店以各自的销售方式卖出新型手表,连续四天手表的销售量如表8.3所示,试考察销售方式之间是否有显著差异.销售方式与销售量数据表销售方式销售量数据A123192113A224252827A320181915A422252623A524232627sales-data.frame(X=c(23,19,21,13,24,25,28,27,20,18,19,15,22,25,26,23,24,23,26,27),A=factor(rep(1:5,c(4,4,4,4,4)))#生成组队的数据summary(aov(X~A,sales))得DfSumSqMeanSqFvaluePr(F)A4212.80053.2007.980.001178**Residuals15100.0006.667---Signif.codes:0‘***’0.001‘**’0.01‘*’0.05‘.’0.#可见不同的销售方式有差异.最后再求均值之差的同时置信区间.R命令为TukeyHSD(aov(X~A,sales))运行结果为Tukeymultiplecomparisonsofmeans95%family-wiseconfidencelevelFit:aov(formula=X~A,data=sales)$Adifflwruprpadj2-171.36224712.6377530.01201173-1-1-6.6377534.6377530.98056324-15-0.63775310.6377530.09447315-160.36224711.6377530.03443283-2-8-13.637753-2.3622470.0041527