R语言 统计篇之T-test 检验

《Cookbook for R》 Statistical Analysis 数据统计篇之 T-test 检验

当你想测试两个样本是否来自均值不同的群体
或者测试一个样本是否来自均值不同于某个理论均值的群体。

示例数据:R内置数据集 sleep

sleep
#>    extra group ID
#> 1    0.7     1  1
#> 2   -1.6     1  2
#> 3   -0.2     1  3
#> 4   -1.2     1  4
#> 5   -0.1     1  5
#> 6    3.4     1  6
#> 7    3.7     1  7
#> 8    0.8     1  8
#> 9    0.0     1  9
#> 10   2.0     1 10
#> 11   1.9     2  1
#> 12   0.8     2  2
#> 13   1.1     2  3
#> 14   0.1     2  4
#> 15  -0.1     2  5
#> 16   4.4     2  6
#> 17   5.5     2  7
#> 18   1.6     2  8
#> 19   4.6     2  9
#> 20   3.4     2 10

制作一个宽版格式的 sleep 数据集

sleep_wide <- data.frame(ID=1:10,group1=sleep$extra[1:10],group2=sleep$extra[11:20]
)
sleep_wide
#>    ID group1 group2
#> 1   1    0.7    1.9
#> 2   2   -1.6    0.8
#> 3   3   -0.2    1.1
#> 4   4   -1.2    0.1
#> 5   5   -0.1   -0.1
#> 6   6    3.4    4.4
#> 7   7    3.7    5.5
#> 8   8    0.8    1.6
#> 9   9    0.0    4.6
#> 10 10    2.0    3.4

1、比较两组:两个独立样本的 t-test
假设两组样本是独立采样的(出于此目的忽略ID变量)
t.test() 函数可以对长格式数据(例如 sleep 数据集)进行操作
其中 extra 列记录测量值,group 列记录分组

# Welch t-test
t.test(extra ~ group, sleep)
#> 
#> 	Welch Two Sample t-test
#> 
#> data:  extra by group
#> t = -1.8608, df = 17.776, p-value = 0.07939
#> alternative hypothesis: true difference in means is not equal to 0
#> 95 percent confidence interval:
#>  -3.3654832  0.2054832
#> sample estimates:
#> mean in group 1 mean in group 2 
#>            0.75            2.33# Same for wide data (two separate vectors)
# t.test(sleep_wide$group1, sleep_wide$group2)

默认情况下,t.test() 并不假定方差相等;它默认使用 Welch t-test,而不是 student's t-test

本案例用 Welch t-test 检验,df=17.776,因为要对不等方差进行调整

如果要使用 student's t-test 检验,需要设置 var.equal=TRUE

# Student t-test
t.test(extra ~ group, sleep, var.equal=TRUE)
#> 
#> 	Two Sample t-test
#> 
#> data:  extra by group
#> t = -1.8608, df = 18, p-value = 0.07919
#> alternative hypothesis: true difference in means is not equal to 0
#> 95 percent confidence interval:
#>  -3.363874  0.203874
#> sample estimates:
#> mean in group 1 mean in group 2 
#>            0.75            2.33# Same for wide data (two separate vectors)
# t.test(sleep_wide$group1, sleep_wide$group2, var.equal=TRUE)

2、比较两个组:配对样本t检验

例如:在治疗前后进行观察,或者对两个匹配的受试者进行不同治疗

同样,t.test() 可用于带有分组变量的数据框或两个向量。
它依靠相对位置来确定配对。
如果使用的是带有分组变量的长格式数据,则 group=1 的第一行与 group=2 的第一行配对。

重要的是,要确保数据分类整理,不遗漏观测数据;
否则,配对会出现偏差。

在这个示例数据中,我们可以根据 groupID 进行排序,以确保顺序相同

# 先按 group 排,再按 ID排
sleep <- sleep[order(sleep$group, sleep$ID), ]# 配对 t-test
t.test(extra ~ group, sleep, paired=TRUE)
#> 
#> 	Paired t-test
#> 
#> data:  extra by group
#> t = -4.0621, df = 9, p-value = 0.002833
#> alternative hypothesis: true difference in means is not equal to 0
#> 95 percent confidence interval:
#>  -2.4598858 -0.7001142
#> sample estimates:
#> mean of the differences 
#>                   -1.58# 宽格式数据框也是如此(两个单独的向量)
# t.test(sleep.wide$group1, sleep.wide$group2, paired=TRUE)

配对 t.test() 等同于测试每对观测值之间的差值是否为 0

t.test(sleep_wide$group1 - sleep_wide$group2, mu=0, var.equal=TRUE)#> One Sample t-test#> data:  sleep_wide$group1 - sleep_wide$group2
#> t = -4.0621, df = 9, p-value = 0.002833
#> alternative hypothesis: true mean is not equal to 0
#> 95 percent confidence interval:
#>  -2.4598858 -0.7001142
#> sample estimates:
#> mean of x 
#>     -1.58 

3、将一组数据与预期总体平均值进行比较:单样本t检验

假设你要检测 extra 列中的数据是否来自一个真实均值为0的群体
该情况下忽略 groupID

t.test(sleep$extra, mu=0)
#> 
#> 	One Sample t-test
#> 
#> data:  sleep$extra
#> t = 3.413, df = 19, p-value = 0.002918
#> alternative hypothesis: true mean is not equal to 0
#> 95 percent confidence interval:
#>  0.5955845 2.4844155
#> sample estimates:
#> mean of x 
#>      1.54

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/6612.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI文章框架分析

大家在文章写作的时候结构难免会有点凌乱&#xff0c;但是自己可能无法发现问题所在&#xff0c;那么有没有一款工具可以帮你自动分析你写的文章框架存在的问题&#xff0c;然后并给你详细的分析报告呢&#xff1f;今天给大家介绍一下文件框架分析助手&#xff01; 使用说明 打…

如何配置X86应用程序启用大地址模式(将用户态虚拟内存从2GB扩充到3GB),以解决用户态虚拟内存不够用问题?(项目实战案例解析)

目录 1、概述 2、为什么不直接将程序做成64位的&#xff1f; 3、进程内存不足导致程序发生闪退的案例分析 3.1、问题说明 3.2、将Windbg附加到程序进程上进行动态调试 3.3、动态调试的Windbg感知到了中断&#xff0c;中断在DebugBreak函数调用上 3.4、malloc或new失败的…

IoTDB 入门教程 问题篇②——RPC远程连接IoTDB服务器失败

文章目录 一、前文二、发现问题三、分析问题四、检查6667端口是否监听所有IP五、检查ECS云服务器的安全组是否允许六、检查Linux防火墙是否允许 一、前文 IoTDB入门教程——导读 二、发现问题 使用本地IP127.0.0.1可以连接IoTDB服务器使用远程IPxx.xx.xx.xx却连接不到。提示你…

【Python】回溯法解全排列问题

题目 给定一个不含重复数字的数组&#xff0c;返回其所有可能的全排列。 分析 要实现全排列&#xff0c;就有一个长度与原数组相等的数组&#xff0c;数组的第一位可能是原数组中的任意一位&#xff0c;第二位是除了第一位的原数组的任意一位&#xff0c;第三位则是除了前两位…

C++中的reverse_iterator迭代器结构设计

目录 reverse_iterator迭代器结构设计 reverse_iterator迭代器基本结构设计 operator*()函数 operator()函数 operator->()函数 operator!()函数 rbegin()函数 rend()函数 operator--()函数 operator()函数 测试代码 const_reverse_iterator迭代器设计 reverse…

【蓝桥2025备赛】容斥原理

容斥原理 背景&#xff1a;两个集合相交 高中的韦恩图&#xff0c;我们知道两个集合相交时我们可以通过简单的计算来认识相关的性质 集合相交的区域是 A ∩ B A\cap B A∩B ,集合的并集是 A ∪ B A\cup B A∪B ,那怎么用集合表示 A ∪ B A\cup B A∪B 我们可以看作是A集合…

华为OD试题之第k长子串

第k长子串 题目描述 给定一个字符串 只包含大写字母 求在包含同一字母的子串中 长度第K长的子串 相同字母只取最长的子串 输入描述 第一行 一个子串 1 < len < 100 只包含大写字母 第二行为k的值 输出描述 输出连续出现次数第k多的字母的次数 如果子串中只包含同一字母…

探索 CSS 动画中的 steps() 函数:精准控制动画节奏

在CSS动画的世界里&#xff0c;steps() 函数是一个强大而灵活的工具&#xff0c;它允许开发者精确地控制动画的播放方式&#xff0c;尤其适用于创建逐帧动画效果或实现类似幻灯片的过渡效果。本文将深入探讨steps()函数的工作原理、语法、应用场景及实战代码示例&#xff0c;帮…

分布式与一致性协议之ZAB协议(一)

ZAB协议 概述 很多人应该都使用过ZooKeeper&#xff0c; 它是一个开源的分布式协调服务&#xff0c;比如你可以用它进行配置管理、名字服务等。在ZooKeeper中&#xff0c;数据是以节点的形式存储的。如果你要用ZooKeeper做配置管理&#xff0c;那么就需要在里面创建指定配置&…

OceanBase 分布式数据库【信创/国产化】- OceanBase 平台产品 - 迁移评估工具 OMA

本心、输入输出、结果 文章目录 OceanBase 分布式数据库【信创/国产化】- OceanBase 平台产品 - 迁移评估工具 OMA前言OceanBase 数据更新架构OceanBase 平台产品 - 迁移评估工具 OMA兼容性评估性能评估导出 OceanBase 数据库对象和 SQL 语句OceanBase 分布式数据库【信创/国产…

Rust入门篇:数据类型

文章目录 前言整数类型浮点数类型布尔类型字符类型字符串字面量元组类型数组类型切片类型枚举类型结构体类型指针类型最后 前言 你好&#xff0c;我是醉墨居士&#xff0c;前面我们学习了如何使用rust在控制台进行输出&#xff0c;接下来我将带给大家一些关于计算机的基础知识…

自动化测试——Selenium:开启Web应用测试的新篇章

自动化测试——Selenium&#xff1a;开启Web应用测试的新篇章 摘要&#xff1a; 随着Web技术的迅猛发展&#xff0c;Web应用的质量和性能成为了企业竞争力的重要指标。自动化测试作为软件测试领域的重要技术&#xff0c;对于提高测试效率、保证产品质量具有显著优势。Selenium…

2024.5.5 机器学习周报

目录 引言 Abstract 文献阅读 1、题目 2、引言 3、创新点 4、匹配问题 5、SuperGlue架构 5.1、注意力图神经网络&#xff08;Attentional Graph Neural Network&#xff09; 5.2、最佳匹配层&#xff08;Optimal matching layer&#xff09; 5.3、损失 6、实验 6.…

模型剪枝——Linear Combination Approximation of Feature for Channel Pruning

线性逼近剪枝代码实现见文末 论文地址:CVPR 2022 Open Access Repositoryhttps://openaccess.thecvf.com/content/CVPR2022W/ECV/html/Joo_Linear_Combination_Approximation_of_Feature_for_Channel_Pruning_CVPRW_2022_paper.html 1.概述 传统的剪枝技术主要集中在去除对…

力扣:100275. K 周期字符串需要的最少操作次数(Java)

目录 题目描述&#xff1a;输入&#xff1a;输出&#xff1a;代码实现&#xff1a; 题目描述&#xff1a; 给你一个长度为 n 的字符串 word 和一个整数 k &#xff0c;其中 k 是 n 的因数。 在一次操作中&#xff0c;你可以选择任意两个下标 i 和 j&#xff0c;其中 0 < i, …

《LeetCode力扣练习》代码随想录——贪心算法(分发糖果---Java)

《LeetCode力扣练习》代码随想录——贪心算法&#xff08;分发糖果—Java&#xff09; 刷题思路来源于 代码随想录 135. 分发糖果 贪心 class Solution {public int candy(int[] ratings) {int[] result new int[ratings.length];result[0] 1;for (int i 1; i < ratings.…

【AI+自动驾驶】由山西运城问界M7事故和梅大高速事故浅谈自动驾驶技术

这个节假日刷了刷短视频, 发现有2个悲惨的事情 比较火。1个是山西运城问界M7 115公里/每小时 撞击 洒水车&#xff0c; 1个是 广东梅大高速坍塌事故48人去世。 本文不谈这2件事情的是错对非&#xff0c;逝者为大&#xff0c;对生命保持敬畏。 从技术角度分析&#xff0c; 如果…

docker安装etcd和etcd客户端

docker安装etcd docker run --name etcd -d -p 2379:2379 -p 2380:2380 -e ALLOW_NONE_AUTHENTICATIONyes bitnami/etcd:3.3.11 etcdetcd客户端安装 https://github.com/etcd-io/etcd/releases客户端命令测试测试 设置/更新key&value ./etcdctl put name user.name获取…

nacos v2.2.3 docker简单安装使用

nacos v2.2.3 docker简单安装使用 Nacos 官方文档&#xff1a; https://nacos.io/zh-cn/docs/v2/quickstart/quick-start.html 控制台&#xff1a; http://127.0.0.1:8848/nacos/ 初始用户名、密码&#xff1a; 账号&#xff1a;nacos 密码&#xff1a;nacos 启动docker…

4.【Orangepi Zero2】Linux定时器(signal、setitimer),软件PWM驱动舵机(SG90)

Linux定时器&#xff08;signal、setitimer&#xff09;&#xff0c;软件PWM驱动舵机&#xff08;SG90&#xff09; signalsetitimer示例 软件PWM驱动舵机&#xff08;SG90&#xff09; signal 详情请看Linux 3.进程间通信&#xff08;shmget shmat shmdt shmctl 共享内存、si…