统计推断与作图|第3期. 吃透t检验,看这一篇就够!

文摘   教育   2024-12-04 21:30   北京  
BE声明学写文章②



往期回顾

  REVIEWS  


1)统计推断与作图|第1期. 还在为统计学苦恼人儿看过来!

2)统计推断与作图|第2期. 统计分析前必不可少的正态性检验


t检验(t-test))是一种常见的统计方法,用于比较两组数据的均值是否有显著差异。它可以分为:单样本t检验(One-sample t-test)、配对样本t检验(Paired t-test)及独立样本t检验(Independent t-test)。


MASCU

统计推断与作图




01

前提条件


在使用t检验之前,必须确保数据符合一定的前提条件。若数据不符合这些条件,t检验的结果可能不准确,导致产生错误结论。t检验的前提条件包括:


1. 随机样本

样本应从总体中随机抽样所得。


2. 来自正态分布总体

t检验假设数据来自正态分布,可以使用正态检验(见“统计推断与作图|第2期. 统计分析前必不可少的正态性检验”)判断数据是否符合正态分布。


3. 方差齐性

t检验假设两组数据的方差相等。可以通过F检验Levene检验检查方差是否相等。如若方差不齐,可以选择使用Welch's t-test,它在方差不齐时仍然有效。


F检验代码:

f_test <- var.test(group1, group2)

Levene检验可以通过car包中的leveneTest()函数检测,代码:

Library(car)levene_test_result <- leveneTest(value ~ group, data = data)

F检验和Levene检验使用输出的P值判断是否拒绝零假设。如果P值<0.05,则拒绝零假设,认为两组的方差不齐。






02

单样本t检验


单样本t检验用于比较一个样本的均值已知的常数(如理论值)是否有显著差异。例如,检查某药品的平均效果是否等于预期效果。


R代码:

#生成样本数据set.seed(123) sample_data <- rnorm(30, mean = 75, sd = 10) #生成的样本均值为75 # #假设已知常数值为70,进行单样本t检验#one_sample_t_test <- t.test(sample_data, mu = 70) print(one_sample_t_test) #箱线图#boxplot(sample_data, main = "One-sample t-test", ylab = "Value", col = "lightgreen") abline(h = 70, col = "red", lwd = 2) #绘制已知常数值的红线


结果:



结果解读:


1.单样本t检验

t = 2.5286:即t统计量,表示两个样本均值的差异程度,t值越大,表明两组之间的差异越大;

df=29,此为自由度,为样本量减1;

p-value = 0.01715,显著小于0.05,拒绝零假设,即认为样本均值与70显著不同;

95%置信区间:[70.86573 78.19219],表示有95%的信心认为两组均值差异的真实值落在这个区间内;

mean of x:74.52896,生成样本的均值为74.52896。


2. 箱型图

箱型图展示了数据的分布,包括中位数、上下四分位数(Q1和Q3)。箱型图中间的红线表示假设均值(70)。





03

配对样本t检验


用于检验两组配对样本均值差异是否显著。常用于同一组个体两种不同条件下的比较(例如治疗前后的数据)。


R代码:

#生成治疗前后的数据set.seed(123)before <- rnorm(30, mean = 50, sd = 10)  # 治疗前after <- before + rnorm(30, mean = 5, sd = 5)  # 治疗后,假设治疗有所改善# 配对样本t检验paired_t_test <- t.test(before, after, paired = TRUE)# 打印结果print(paired_t_test)# 配对差值的箱线图difference <- after - beforeboxplot(difference, main = "Paired t-test", ylab = "Difference (After - Before)", col = "lightcoral")


结果:



结果解读


t = -7.7282:t统计量,表示治疗前后指标的差异;

df =29:自由度,等于样本量减去1;

p-value = 1.601e-08,显著小于0.05,拒绝零假设,即认为治疗前后该指标有显著差异;

95%置信区间:[-7.450901-4.332482],即有 95%的信心认为指标变化的真实差异落在这个区间内;

样本均值差异:-5.891692,表示治疗前后指标的平均差异为5.891692。





04

独立样本t检验


独立样本t检验用于比较两个独立的样本群体(如实验组和对照组)之间的均值差异。例如,比较两组患者的治疗效果


R代码:

# 生成两组数据set.seed(123)group1 <- rnorm(30, mean = 5, sd = 2)  # 组1,均值为5,标准差为2group2 <- rnorm(30, mean = 7, sd = 2)  # 组2,均值为7,标准差为2# 独立样本t检验t_test <- t.test(group1, group2)# 打印结果print(t_test)# 可视化:箱线图boxplot(group1, group2, names = c("Group 1", "Group 2"), main = "Independent t-test",col = c("lightblue", "lightgreen"), ylab = "Value")


结果:



结果解读:


t=-5.2098,t统计量,表示两组均值差异的程度,t值越大,差异越显著;

p-value = 2.755e-06,显著小于0.05,拒绝零假设,即两组间的均值差异显著;

df=56.559:自由度,采用了Welch修正来计算自由度,处理两组方差不齐的情况;

95%置信区间:[-3.393085,-1.508683],表示我们有95%的信心认为两组均值差异的真实值落在这个区间内;

样本均值:mean of x = 4.905792,mean of y =7.356677,为两样本的均值。



今天的分享到这里就结束啦,你学会了吗?大家对于推送内容有任何问题或建议可以在公众号菜单栏“更多--读者的话” 栏目中提出,我们会尽快回复!


期待已久~临床科研交流群来啦!


(欢迎大家入群交流~若群满,请添加下方微信,备注:“进临床科研与统计_互助交流群” )







写在最后


“观科研”(点击进一步了解我们吧)是由一群北京协和医学院(清华大学医学部)的博士开创的公众号,初心是让医学科研有迹可循,帮助一线的医学科研人员更快地成长,希望大家支持与关注!

如果大家对分享医学科研知识感兴趣,特别欢迎加入我们,期待与您的相遇相识相知,也非常欢迎大家自主投稿,如果您有需要分享的内容或对我们有任何建议,可通过后台留言、
公众号菜单栏
“更多—读者的话”栏目进一步了解)或发送邮件至mascu_forever@163.com与我们交流并留下个人联系方式,我们会及时与您联系。

如果您觉得我们长期的干货推送对您的科研工作有所帮助,可以在合适的机会致谢(包括但不限于SCI论文、毕业论文等),格式如下:
 The authors thank the support of Skill Learning from Kaixin Doctor and MASCU (Medical Association with Science, Creativity, and Unity), Inc, Shenzhen, China (mascu_forever@163.com).


【大家的支持,是我们持续更新的动力!】


Pay attention!
微信公众号的推送规则发生改变(不再按照时间顺序来显示),如果没有将“观科研”设置为星标,你就可能错失里面的精彩推送。


点击“在看”,可参与讨论哦!

图文:奇观

审核:美观

编辑:云观

编审:直观


观科研
让医学科研有迹可循
 最新文章