本文介绍假设检验的概念,以及如何实现T检验。包括单样本T检验、双样本T检验以及配对样本T检验。

假设检验

假设检验(hypothesis testing),又称统计假设检验,是用来判断样本与样本、样本与总体的差异是由抽样误差引起还是本质差别造成的统计推断方法。

R语言提供t.test()函数执行不同类型T检验,语法如下:

# y为null 为单样本T检验

t.test(x, y = NULL,
alternative = c(“two.sided”, “less”, “greater”),
mu = 0, paired = FALSE, var.equal = FALSE,
conf.level = 0.95, …)

  • x, y: 两个样本数据.
  • alternative: 检验的备择假设.
  • mu: 假设的总体均值.
  • paired: 是否执行配对检验.
  • var.equal: 是否假设两个样本方差相等.
  • conf.level: 要使用的置信度.

下面通过示例来说明如何使用该函数。

单样本T检验

它用来检验总体均值是否等于某值。举例,如果我们想知道某种类型海龟平均重量是否为310磅,为此收集一些随机样本,样本海龟重量如下:

随机样本重量:300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303

下面代码执行单样本T检验:

# 定义样本向量
turtle_weights <- c(300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303)# 执行单样本T检验
t.test(x = turtle_weights, mu = 310)#     One Sample t-test
#
# data:  turtle_weights
# t = -1.5848, df = 12, p-value = 0.139
# alternative hypothesis: true mean is not equal to 310
# 95 percent confidence interval:
#  303.4236 311.0379
# sample estimates:
# mean of x
#  307.2308

从输出可以看到:

  • T检验统计:-1.5848
  • 自由度 : 12
  • p值 : 0.139
  • 总体均值95%置信区间:[303.4236, 311.0379]
  • 样本均值 :307.230

因为p值为0.139,不小于.05, 我们不能拒绝原假设。这意味着我们没有足够证据说明这种类型海龟平均重量不等于310磅。

双样本T检验

双样本T检验用于测试两个总体均值是否相等。举例,我们想知道两个不同种类海龟平均重量是否相等,为此,随机收集两种海龟样本,重量如下:

样本1: 300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303

样本2: 335, 329, 322, 321, 324, 319, 304, 308, 305, 311, 307, 300, 305

下面代码实现双样本T检验:

# 两种海龟样本重量向量
sample1 <- c(300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303)
sample2 <- c(335, 329, 322, 321, 324, 319, 304, 308, 305, 311, 307, 300, 305)# 执行双样本T检验
t.test(x = sample1, y = sample2)#     Welch Two Sample t-test
#
# data:  sample1 and sample2
# t = -2.1009, df = 19.112, p-value = 0.04914
# alternative hypothesis: true difference in means is not equal to 0
# 95 percent confidence interval:
#  -14.73862953  -0.03060124
# sample estimates:
# mean of x mean of y
#  307.2308  314.6154

从输出可以看到:

T检验统计量: -2.1009
自由度 : 19.112
p值 : 0.04914
95%置信区间: [-14.74, -0.03]
样本1平均重量 : 307.2308
样本1平均重量 : 314.6154

因为p值为0.04914,小于.05, 我们拒绝原假设。这意味着我们有足够证据说明这俩种类型海龟平均重量不相等。

配对样本T检验

当一个样本中的每个观测值可以与另一个样本中的观测值配对时,我们可以使用配对样本t检验来比较两个样本的均值。

例如,假设我们想知道某种训练程序是否能够增加篮球运动员的最大垂直跳跃高度(以英寸为单位)。为了验证这一点,我们随机招募12名大学生篮球运动员,并测量他们每个人的最大垂直跳跃。然后让每个运动员按照新的训练程序训练一个月,然后在月底再次测量他们的最大垂直跳跃高度。

以下数据显示了每个运动员在使用训练程序之前和之后的最大跳跃高度(英寸):

Before: 22, 24, 20, 19, 19, 20, 22, 25, 24, 23, 22, 21

After: 23, 25, 20, 24, 18, 22, 23, 28, 24, 25, 24, 20

下面代码执行配对样本检验:

# 最大跳跃高度统计向量
before <- c(22, 24, 20, 19, 19, 20, 22, 25, 24, 23, 22, 21)
after <- c(23, 25, 20, 24, 18, 22, 23, 28, 24, 25, 24, 20)# 执行配对样本检验
t.test(x = before, y = after, paired = TRUE)#    Paired t-test
#
# data:  before and after
# t = -2.5289, df = 11, p-value = 0.02803
# alternative hypothesis: true difference in means is not equal to 0
# 95 percent confidence interval:
#  -2.3379151 -0.1620849
# sample estimates:
# mean of the differences
#                   -1.25

从输出可以看到:

T检验统计量 : -2.5289
自由度 : 11
p值 : 0.02803
95%置信区间 : [-2.34, -0.16]
两者均值差 : -1.25

因为p值为0.02803,小于.05, 我们拒绝原假设。这意味着我们有足够证据说明按照新训练程序前后最大跳跃高度不相等。

R语言假设检验完整入门教程相关推荐

  1. R语言七天入门教程六:文件相关操作

    R语言七天入门教程六:文件相关操作 一.文件的读写 R 语言作为统计学编程语言,常常需要处理大量数据,而这些数据通常会从文件中进行读取,因此文件读写在R语言中是非常重要的操作.在R语言中,用到最多的文 ...

  2. R语言七天入门教程二:认识变量与运算符

    R语言七天入门教程二:认识变量与运算符 一.什么是变量 1.变量 顾名思义,我们可以将变量理解为"可以改变的量",是计算机语言中能储存计算结果或能表示值的抽象概念.这里的值可以是数 ...

  3. R语言七天入门教程三:学习基本结构

    R语言七天入门教程三:学习基本结构 一.编程的语言的基本结构 1.三种基本结构 绝大多数编程语言,都有三种最基本的程序结构:顺序结构.分支结构.循环结构.这三种结构的流程图如下所示(从左至右依次为:顺 ...

  4. R语言七天入门教程五:认识并使用函数

    R语言七天入门教程五:认识并使用函数 一.什么是函数 在编程语言中,如果有一段代码需要在多次重复使用,除了复制粘贴外,还可以将其写成一个函数.函数可以很方便地实现代码复用,对于复杂的程序功能,可以将其 ...

  5. R语言 零基础入门教程第11章 Rattle可视化数据挖掘工具(1)Rattle简介及安装 功能预览 数据导入 数据探索 数据建模 模型评估 Rattle实例

    关注公众号凡花花的小窝,收获更多的考研计算机专业编程相关的资料 本章内容 Rattle简介及安装 功能预览 数据导入 数据探索 数据建模 模型评估 Rattle实例 本章目标 了解Rattle的安装及 ...

  6. R语言七天入门教程一:配置运行环境

    R语言七天入门教程一:配置运行环境 一.R语言介绍 1.R语言是什么? 参考:R语言教程-R语言介绍 R 语言是为数学研究工作者设计的一种数学编程语言,主要用于统计分析.绘图.数据挖掘.R语言有丰富的 ...

  7. 大数据分析R语言tidyverse数据清洗工具教程

    凌乱的数据集无处不在.如果要分析数据,不可避免地需要清理数据.在大数据分析R语言tidyverse数据清洗工具教程中,我们将研究如何使用R和一些漂亮的tidyverse工具来做到这一点. 该tidyv ...

  8. PyQt完整入门教程

    https://blog.csdn.net/baidu_37503452?spm=1000.2115.3001.5343 1.GUI开发框架简介 19年来,一直在做Android ROM相关测试,也有 ...

  9. PyQt完整入门教程 | 例程附代码

    关注.星标公众号,直达精彩内容 来源:cnblogs 作者:lovesoo 1.GUI开发框架简介 pyqt是个好东西,可以做完整的测试方案.脚本.工具进行整合复用等等,本文将以一个实例和大家一起分享 ...

  10. R语言时间序列ARIMA新手教程

    R语言时间序列ARIMA新手教程 首先说一下ARMA回归的底层逻辑,所谓的AR模型和MA模型都是ARMA模型的一种特殊情况,有点类似正方形和长方形都是矩形.ARMA模型的表达式为: p为自回归部分的滞 ...

最新文章

  1. Android测试(二)——drozer使用
  2. laravel5.8笔记八:数据库(单库和多库)
  3. Heartbeat+httpd+NFS 实现高可用的Web服务器
  4. getbean方法找不到bean_iphone手机静音找不到怎么办 iphone静音找不到解决方法【图文】...
  5. 软件工程项目之摄影App
  6. 5G进入爬坡期,这个关键因素,决定了它的成败……
  7. apache服务器工作原理,Apache服务器的原理简介
  8. 一个被认可的数据治理框架,到底应该什么样?
  9. A股开盘:深证区块链50指数跌0.20%,136只概念股下跌
  10. python encode和decode函数说明
  11. 这个工具太好用了,彻底摆脱了数据IT“天天取数”的噩梦
  12. attention机制的几种方法
  13. C语言里面邻接表的创建
  14. 计算机硬盘发展现状,固态硬盘的发展现状
  15. 华为手机鸿蒙系统卡吗,鸿蒙到底有多流畅?华为:3年不卡!
  16. shopnc怎么使用 php,ShopNC单用户版/安装php
  17. 谷歌浏览器崩溃,提示 “STATUS_INVALID_IMAGE_HASH” 的解决办法
  18. android按返回键和Home键都进入后台
  19. python 分布式框架_Python 并行分布式框架:Celery 超详细介绍
  20. 「我们只投这两种AI公司」, 三位局内人首次公开AI投资的技术与产业标准

热门文章

  1. 求循环小数的循环节C/C++
  2. x310 跑OAI-developnr
  3. SpringBoot+websocket实现私聊和群聊(可以发送文字和图片)
  4. python统计三国_如何用python对《三国演义》、《红楼梦》等名著开展词云分析及字频统计、出场统计等工作。...
  5. mmdetection使用目标检测工具箱训练,测试
  6. 搜狗站长html标签验证,教你把企业网站添加到搜狗站长平台
  7. 如何批量下载知乎回答图片
  8. 【知乎解密(最新版-rpc版本)】
  9. HDFS的机架感知(rack aware)
  10. 高级语言 和 低级语言 的区别