统计推断与作图|第3期. 吃透t检验,看这一篇就够!
文摘
教育
2024-12-04 21:30
北京
在使用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,则拒绝零假设,认为两组的方差不齐。
单样本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)。
用于检验两组配对样本的均值差异是否显著。常用于同一组个体在两种不同条件下的比较(例如治疗前后的数据)。
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 - before
boxplot(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。
独立样本t检验用于比较两个独立的样本群体(如实验组和对照组)之间的均值差异。例如,比较两组患者的治疗效果
R代码:
# 生成两组数据
set.seed(123)
group1 <- rnorm(30, mean = 5, sd = 2) # 组1,均值为5,标准差为2
group2 <- 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).微信公众号的推送规则发生改变(不再按照时间顺序来显示),如果没有将“观科研”设置为星标,你就可能错失里面的精彩推送。