温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

R语言如何实现T检验

发布时间:2021-11-18 10:10:44 阅读:348 作者:小新 栏目:大数据
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

这篇文章主要介绍了R语言如何实现T检验,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

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

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

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

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

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

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

library(dplyr)women_weight <- genderweight %>%  filter(group == "F") %>%  pull(weight)women_weightmen_weight <- genderweight %>%  filter(group == "M") %>%  pull(weight)men_weight
 

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

如果要检验均值是否相等

t.test(women_weight,men_weight)
 

输出结果是

 Welch Two Sample t-testdata:  women_weight and men_weightt = -20.791, df = 26.872, p-value < 2.2e-16alternative hypothesis: true difference in means is not equal to 095 percent confidence interval-24.53135 -20.12353sample 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参数

> t.test(women_weight,men_weight,var.equal=T) Two Sample t-testdata:  women_weight and men_weightt = -20.791, df = 38, p-value < 2.2e-16alternative hypothesis: true difference in means is not equal to 095 percent confidence interval: -24.50140 -20.15349sample estimates:mean of x mean of y  63.49867  85.82612 
 

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

t.test(men_weight,women_weight,var.equal=T,alternative = "greater")
 

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

 Two Sample t-testdata:  men_weight and women_weightt = 20.791, df = 38, p-value < 2.2e-16alternative hypothesis: true difference in means is greater than 095 percent confidence interval20.51693      Infsample estimates:mean of x mean of y  85.82612  63.49867 
 

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

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

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()
 
R语言如何实现T检验
image.png

感谢你能够认真阅读完这篇文章,希望小编分享的“R语言如何实现T检验”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:https://my.oschina.net/u/4579431/blog/4473908

AI

开发者交流群×