前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言T检验的简单小例子

R语言T检验的简单小例子

作者头像
用户7010445
发布2020-08-07 00:18:49
1.4K0
发布2020-08-07 00:18:49
举报
文章被收录于专栏:小明的数据分析笔记本

T检验是用来检验两组数据之间均值是否有差异的一种方法,比如下面我们用到的数据包括20个男生和20个女生的体重数据。

试验设计是自然群体下(人们正常生活,没有可以控制自己的体重)探究

  • 男生和女生之间的体重是否有差异?
  • 或者男生的体重是否大于女生?
  • 再或者男生的体重是否小于女生?

于是在理想的群体中随机抽取20个男生和20个女生测量体重,记录数据。

这时候的统计检验方法就可以选择T检验。

本篇文章的内容参考https://www.datanovia.com/en/lessons/how-to-do-a-t-test-in-r-calculation-and-reporting/how-to-do-two-sample-t-test-in-r/

示例数据集来自datarium包的genderweight加载数据data('genderweight',package='datarium')查看数据前六行head(genderweight)数据集是一个数据框,将男生和女生的数据拆分成两个向量

代码语言:javascript
复制
library(dplyr)
women_weight <- genderweight %>%
  filter(group == "F") %>%
  pull(weight)
women_weight
men_weight <- genderweight %>%
  filter(group == "M") %>%
  pull(weight)
men_weight

这里我新学到的函数是pull(),作用是用管道符把数据传递给他然后指定列名就直接转换成向量了。

如果要检验均值是否相等

代码语言:javascript
复制
t.test(women_weight,men_weight)

输出结果是

代码语言:javascript
复制
 Welch Two Sample t-test

data:  women_weight and men_weight
t = -20.791, df = 26.872, p-value < 2.2e-16
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -24.53135 -20.12353
sample estimates:
mean of x mean of y 
 63.49867  85.82612 

t检验的零假设是两组数据均值相等,结果中p-value小于0.05,拒绝原假设,接受备择假设alternative hypothesis,备择假设是true difference in means is not equal to 0,翻译过来就是平均值差异不等于0,就是均值有差异。 这个做的是Welch Two Sample t-test,如果要做学生式T检验,可以在t.test()函数里加var.equal=T参数

代码语言:javascript
复制
> t.test(women_weight,men_weight,var.equal=T)

 Two Sample t-test

data:  women_weight and men_weight
t = -20.791, df = 38, p-value < 2.2e-16
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -24.50140 -20.15349
sample estimates:
mean of x mean of y 
 63.49867  85.82612 

如果要看男生体重是否比女生大,需要加alternative参数

代码语言:javascript
复制
t.test(men_weight,women_weight,var.equal=T,alternative = "greater")

男生的数据放第一个参数,女生的数据方第二个参数,alternative = "greater"是指备择假设是男生体重大于女生,对应的零假设就是男生体重不大于女生。 结果

代码语言:javascript
复制
 Two Sample t-test

data:  men_weight and women_weight
t = 20.791, df = 38, p-value < 2.2e-16
alternative hypothesis: true difference in means is greater than 0
95 percent confidence interval:
 20.51693      Inf
sample estimates:
mean of x mean of y 
 85.82612  63.49867 

p-value小于0.05拒绝原假设,所以结论就是男生体重大于女生

接下来是结果展示,T检验的结果通常可以用箱线图来展示

代码语言:javascript
复制
library(ggplot2)
ggplot(genderweight,aes(x=group,y=weight))+
  geom_boxplot(aes(fill=group))+
  geom_jitter(aes(color=group))+
  geom_segment(aes(x=1,xend=1,y=70,yend=100))+
  geom_segment(aes(x=2,xend=2,y=96,yend=100))+
  geom_segment(aes(x=1,xend=2,y=100,yend=100))+
  annotate('text',x=1.5,y=102,label="p-value< 2.2e-16")+
  theme_bw()
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-08-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小明的数据分析笔记本 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档