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

server/2024/10/19 6:15:29/

《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.ppmy.cn/server/28153.html

相关文章

STM32 F103C8T6学习笔记16:1.3寸OLED的驱动显示日历

今天尝试使用STM32 F103C8T6驱动显示 1.3寸的OLED&#xff0c;显示数字、字符串、汉字、图片等 本质与0.96寸的OLED是完全相同的原理&#xff1a; 而且经过我的研究发现: 1.3寸大小的OLED并未比0.96寸的有更多的显示像素点数来显示&#xff0c;也是128*64的像素点数显示: 也…

分布式与一致性协议之Raft算法与一致哈希算法(一)

Raft算法 Raft与一致性 有很多人把Raft算法当成一致性算法&#xff0c;其实它不是一致性算法而是共识算法&#xff0c;是一个Multi-Paxos算法&#xff0c;实现的是如何就一系列值达成共识。并且&#xff0c;Raft算法能容忍少数节点的故障。虽然Raft算法能实现强一致性&#x…

【Spring AI】02. 嵌入向量 API

文章目录 嵌入向量 APIAPI 概述EmbeddingClientEmbeddingRequestEmbeddingResponseEmbedding 可用实现 嵌入向量 API EmbeddingClient 接口旨在与人工智能和机器学习中的嵌入向量模型进行直接集成。其主要功能是将文本转换为数字向量&#xff0c;通常称为嵌入向量。这些嵌入向…

MySQL-逻辑架构

1、MySQL服务器处理客户端请求 MySQL是典型的C/S架构&#xff0c;服务端程序使用 mysqld。实现效果&#xff1a;客户端进程像服务端发送&#xff08;SQL语句&#xff09;&#xff0c;服务器进程处理后再像客户端进程发送 处理结果。 2、connectors 指不同语言中与SQL的交互…

LangChain 入门6 magic不同格式文件的读取

概述&#xff1a; 除了原始文本数据&#xff0c;可能还希望从其他文件类型&#xff08;如PowerPoint演示文稿或PDF&#xff09;中提取信息。 可以使用LangChain文档加载程序将文件解析为可以输入LLM的文本格式。 基于MIME类型的解析 数据加载 import requestsresponse req…

科蓝尔环保 | 成都2024全国水科技大会暨技术装备成果展览会

2024年5月13日一15日中华环保联合会、福州大学、上海大学在四川省成都市联合举办“2024全国水科技大会暨技术装备成果展览会”。 大会主题&#xff1a;加快形成新质生产力 增强水业发展新动能 大会亮点&#xff1a;邀请6位院士&#xff0c;100余位行业专家&#xff0c;15场专…

【算法】【《计算机算法设计与分析(第5版)》笔记】第一章:算法概述

文章目录 [toc]1.1|算法与程序算法性质 程序 1.2|算法复杂性分析算法复杂性时间复杂性最坏情况下的时间复杂性最好情况下的时间复杂性平均情况下的时间复杂性 渐进复杂性O表示法运算规则证明 Ω表示法θ表示法o表示法 1.3|NP完全性理论判定形式的旅行售货员问题P类问题NP类问题…

PDF高效编辑器,一键转换将PDF文件转换成HTML文件,开启文件处理新篇章!

文件格式的转换与处理已成为我们日常工作中不可或缺的一部分。为了满足广大用户对高效、便捷文件处理的需求&#xff0c;我们荣幸地推出了全新的PDF高效编辑器——PDF到HTML一键转换工具&#xff01;这款工具将为您带来前所未有的文件处理体验&#xff0c;让您轻松驾驭文件格式…