您现在的位置:重庆市教育评估院>>监测与信息中心>>分析技术

    用R做t检验(转载)

    编辑:赖寒 审核:何怀金 来源:钟冬梅 发布时间:2016-04-01 浏览次数:

    来源:http://songchunlin.net/cn/2014/06/t-test-with-r/


       研究者对研究对象总体按一定方法抽样,为了尽可能准确地根据这一样本的参数估计总体,验证某些假设,这就需要用到假设检验,而t检验就是假设检验中最常用的一种检验方法,可以通过R软件非常方便地实现。

    第一种情况是单样本t检验(one sample t-test),目的是检验一个正态分布的总体均值是否满足零假设的已知均值。例如:已知A地家蝇翅膀长度均值47mm,为研究B地家蝇翅膀长度和A地有无差异,随机抽取B地100只家蝇,测量其翅膀长度。注意,研究对象是B地所有的家蝇,这个数目是远大于100的,如果直接把这100只的数据平均然后比较是不准确的,统计学上用T检验解决了这个问题。已知B地家蝇翅膀长度符合正态分布,样本符合随机原则。零假设H0:μ=47,即B地家蝇翅膀长度与A地一致;备择假设Ha:μ≠47,即B地家蝇翅膀长度与A地不一致,显著性水平α为0.05。R下的做法是:

     

    wl <- c(36,37,38,38,39,39,40,40,40,40,41,41,41,41,41,41,42,42,42,42,42,42,42,43,43,43,43,43,43,43,43,44,44,44,44,44,44,44,44,44,45,45,45,45,45,45,45,45,45,45,46,46,46,46,46,46,46,46,46,46,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,49,49,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,52,52,53,53,54,55) 

    t.test(wl, mu = 47, var.equal = FALSE) 

    >One Sample t-test data: wl t = -3.8269, df = 99, p-value = 0.0002274 alternative hypothesis: true mean is not equal to 47 95 percent confidence interval: 44.72226 46.27774 sample estimates: mean of x 45.5 


       从上述结果可以看出,基于100个样本的p-value = 0.0002274 < 0.05,因此有充足的理由拒绝H0假设,即B地家蝇翅膀长度与A地不一致,95置信区间为(44.72226,46.27774),B地家蝇翅膀长度比A地短。

       第二种情况是两样本t检验(two-sample t-test),目的是检验两个正态分布的总体均值之间是否有差异(是否相等)。例如:为验证1和2两地家蝇翅膀长度是否有差异,随机在1和2两地抽取家蝇,测量翅膀长度,一共40个样本,数字特征分别为μ1和μ2。零假设H0:μ1=μ2,即两地家蝇翅膀长度无显著差异;备择假设Ha:μ1≠μ2,即两地家蝇翅膀长度有显著差异,显著性水平α为0.05。R下的做法是:

     

    lines <- "ID length site\n1 45 1\n2 44 1\n3 45 2\n4 43 1\n5 48 2\n6 47 2\n7 47 1\n8 48 1\n9 43 2\n10 44 1\n11 46 2\n12 46 1\n13 44 1\n14 47 2\n15 40 1\n16 48 2\n17 45 1\n18 46 2\n19 42 1\n20 43 2\n21 40 1\n22 43 1\n23 49 2\n24 46 1\n25 47 1\n26 46 2\n27 43 2\n28 45 1\n29 46 1\n30 47 2\n31 46 2\n32 47 2\n33 45 1\n34 46 2\n35 43 1\n36 45 2\n37 44 1\n38 46 2\n39 44 2\n40 45 2" wl <\- read.table(con <\- textConnection(lines), header = TRUE) 

    close(con)

    x = wl[wl$site == 1, 2] 

    y = wl[wl$site == 2, 2]  

    shapiro.test(x) 

    bartlett.test(length ~ site, data = wl) 

    t.test(x, y)


       基于1和2个地点t检验的p-value = 0.01874 < 0.05,因此拒绝H0假设,即认为两地地家蝇翅膀长度有显著差异。

    第三种情况是配对t检验或称重复测量t检验( “paired” or “repeated measures” t-test),用于检验同一统计量的两次测量值之间的差异是否为零。例如测量病人治疗前和治疗后的某种指标水平,检验其差异是否显著;或者要比较同一河流上下游两地污染情况,同一指标在上下游各测量一次,共有N个指标,这都要用到配对T检验。R中配对t检验的代码为t.test(x, y, paired=TRUE),x和y为两组变量。


重庆市教育评估院 重庆市基础教育质量监测中心
电话:023-67001769/67715619/67716119 传真:023-67006145
网址:http://cee.gov.cn 电子邮箱:cqspgy@126.com
地址:重庆市江北区欧式一条街兴隆路20号 邮编:400020

渝ICP备12008056号-2