美文网首页统计算法小教程收藏统计
t检验算法及其在R语言中的实现

t检验算法及其在R语言中的实现

作者: 研究僧小蓝哥 | 来源:发表于2019-03-22 22:18 被阅读132次

定义及分类

在进行 t 检验之前让我们先看看它的定义:t 检验法就是在假设检验时利用 t 分布进行概率计算的检验方法。那问题来了,什么是 t 分布呢?

在概率论和统计学中,学生 t- 分布(Student's t-distribution)可简称为 分布,用于根据小样本来估计呈正态分布且方差未知的总体的均值。如果总体方差已知(例如在样本数量足够多时),则应该用正态分布来估计总体均值[1]。

所以我们在进行 t 检验之前,应该对数据进行正态性检验以及方差齐性检验

 t 检验可以分为单样本 t 检验和双样本 t 检验(见下图)。

t 检验分类 by小蓝哥

单样本 t 检验

步骤及算法

单样本 t 检验步骤如下。

1. 提出假设

by 小蓝哥

2. 计算 t 

by 小蓝哥

3. 统计推断

在R中的实现

#单样本T检验

data <- c(4.33,4.62,3.89,4.14,4.78,4.64,4.52,4.55,4.48,4.26)

shapiro.test(data) #p>0.05,符合正态分布

t.test(data,mu=4.5) #mu表示的是平均数

看看R的结果:

①正态性检验结果

> shapiro.test(data) #p>0.05,符合正态分布

Shapiro-Wilk normality test

data:  data

W = 0.95054, p-value = 0.6749

② t 检验结果

> t.test(data,mu=4.5)

One Sample t-test

data:  data

t = -0.93574, df = 9, p-value = 0.3738

alternative hypothesis: true mean is not equal to 4.5

95 percent confidence interval:

 4.230016 4.611984

sample estimates:

mean of x 

    4.421 

p=0.3738>0.05,所以拒绝Ho,接受HA。


方差齐的非配对的双样本 t 检验

步骤及算法

1. 提出假设

by 小蓝哥

2. 计算 t

by 小蓝哥

其中:

by 小蓝哥

3. 统计推断

在R中的实现

#非配对两样本T检验

high<-c(134,146,106,119,124,161,107,83,113,129,97,123)

low<-c(70,118,101,85,107,132,94)

x <- c(high,low)

group <- c(rep("high",12),rep("low",7))

shapiro.test(high) #正态性检验

shapiro.test(low) #正态性检验

bartlett.test(x~group)#方差齐性检验

t.test(high,low,paired = FALSE,var.equal = T) #非配对: paired = FALSE     方差齐: var.equal = T    

①方差齐性检验结果

> bartlett.test(x~group)#方差齐性检验

Bartlett test of homogeneity of variances

data:  x by group

Bartlett's K-squared = 0.0066764, df = 1, p-value = 0.9349 #接近1表明方差齐

② t 检验结果

> t.test(high,low,paired = FALSE,var.equal = T)

Two Sample t-test

data:  high and low

t = 1.9157, df = 17, p-value = 0.07238

alternative hypothesis: true difference in means is not equal to 0

95 percent confidence interval:

-1.942543 40.275876

sample estimates:

mean of x mean of y

120.1667  101.0000

p-value = 0.07238>0.05,所以不能否定Ho。


方差不齐的非配对的 t 检验

步骤及算法 

1. 提出假设

by 小蓝哥

2. 计算 t’

by 小蓝哥

其中:

by 小蓝哥 by 小蓝哥 by 小蓝哥

3. 统计推断

在R中的实现

#非配对两样本T检验

high<-c(134,146,106,119,124,161,107,83,113,129,97,123)

low<-c(70,118,101,85,107,132,94)

x <- c(high,low)

group <- c(rep("high",12),rep("low",7))

shapiro.test(high)

shapiro.test(low)

bartlett.test(x~group)#方差齐性检验

t.test(high,low,paired = FALSE,var.equal = F)

t 检验结果

> t.test(high,low,paired = FALSE,var.equal = F)

Welch Two Sample t-test

data:  high and low

t = 1.9319, df = 13.016, p-value = 0.07543

alternative hypothesis: true difference in means is not equal to 0

95 percent confidence interval:

 -2.263671 40.597005

sample estimates:

mean of x mean of y 

 120.1667  101.0000 

p-value = 0.07238>0.05,所以不能否定Ho。


配对 双样本 t 检验

步骤及算法

1.提出假设

by 小蓝哥

2.计算t

by 小蓝哥

其中

by 小蓝哥 by 小蓝哥


3. 统计推断

在R中的实现

#配对两样本T检验

ds <- c(82.5,85.2,87.6,89.9,89.4,90.1,87.8,87.0,88.5,92.4)

cs <- c(91.7,94.2,93.3,97.0,96.4,91.5,97.2,96.2,98.5,95.8)

library(carData)

library(car)

leveneTest(ds,cs)

d <- ds-cs

shapiro.test(d) #方差齐性检验

t.test(ds,cs,paired = T,alternative = "two.sided",cond.lvel=0.95)

t检验结果:

> t.test(ds,cs,paired = T,alternative = "two.sided",cond.lvel=0.95)

Paired t-test

data:  ds and cs

t = -7.8601, df = 9, p-value = 2.548e-05

alternative hypothesis: true difference in means is not equal to 0

95 percent confidence interval:

 -9.1949 -5.0851

sample estimates:

mean of the differences 

                  -7.14 

p-value = 2.548e-05 < 0.01,所以否定Ho,接受HA。

参考文献:

[1].学生 t - 分布(Wikipedia)

相关文章

  • t检验算法及其在R语言中的实现

    定义及分类 在进行 t 检验之前让我们先看看它的定义:t 检验法就是在假设检验时利用 t 分布进行概率计算的检验方...

  • 《白话统计》读书笔记-t and anovar

    t检验t检验的使用条件t检验的实现独立样本t检验配对样本t检验Wilcoxon秩和的实现 方差分析方差分析中变异分...

  • R语言实现-T检验

    写在前面搬运自公众号bioLinkx t检验用于检验两个总体均值是否一致,分为单样本t检验、独立样本t检验和配对样...

  • R - t检验

    1. 简介 T检验,亦称student t检验(Student's t test),主要用于样本含量较小(例如n<...

  • 加权关联规则挖掘算法

    加权关联规则挖掘 在 R 语言中的 arules 包有该算法的实现,故花时间研究了一下该算法的原理和产生的背景。关...

  • 独立样本t检验及其在SPSS中的实现

    独立样本t检验用于比较独立设计(也叫完全随机设计)的两组总体均数是否相同。一般而言此法根据分组设计而决定,但有时候...

  • R语言T检验

    我们比较的对象是南方和非南方各州,因变量为监禁的概率。一个针对两组的独立样本t检验可以用于检验两个总体的均值相等的...

  • 【R】批量T检验

    注意事项 本代码适用于Student T检验,别的统计方法需要改代码 本代码中默认数据符合正态分布且方差齐,如果数...

  • R语言t检验

    本文首发于公众号:医学和生信笔记 医学和生信笔记,专注R语言在临床医学中的使用,R语言数据分析和可视化。主要分享R...

  • 基于R实现统计中的检验方法---T检验

    欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答、求职一站式搞...

网友评论

    本文标题:t检验算法及其在R语言中的实现

    本文链接:https://www.haomeiwen.com/subject/avcnpqtx.html