看过许多统计教程,这篇是我最推荐的
介 绍
数值变量如果服从正态分布,采用均数±标准差进行统计描述,采用方差分析进行组间比较,如果组间差异有统计学意义,进一步采用LSD法(也可以是其它方法)进行两两比较。如果不服从正态分布,采用中位数(四分位数间距)进行统计描述,组间比较采用非参数检验(Kruskal-Wallis秩和检验),当组间总的有统计学差异,进一步采用Dunn法(也可以是其它方法)进行多重比较。对于分类变量,采用例数(百分比)的形式描述,组间比较采用χ2检验或精确概率法,当组间总的有统计学差异,进一步采用χ2检验或精确概率法进行两两比较,两两比较的P值需采用Boferroni法(也可以选择其它方法)进行校正。对于只会SPSS软件的同学来说,做两两比较的卡方检验或精确概率法时,需要一次次选择个案,一次次点菜单,太浪费时间和精力。用R软件的优势在于做两两比较时,不用再一次一次点菜单了,直接用几行命令就可以了。我们想看看不同工作岗位的男女比例是否有差异。软件操作
1、导入数据mydata "clipboard")#查看数据str(mydata)head(mydata)
2、变量因子化mydata$sex$sex,levels=c(0,1),labels=c(mydata$work$work,levels=c(1,2,3,4),labels=c(
#查看数据str(mydata)head(mydata)
3、对于分析涉及到的变量,形成表格数据我们想研究不同工作岗位的男女比例是否有差异,需要把涉及到的两个变量work和sex生成表格,输入:tab$work,mydatatab
4、卡方检验和精确概率法#卡方检验chisq.test(tab)
#精确概率法fisher.test(tab)
结果解读:使用chisq.test命令进行卡方检验,结果显示:统计量χ2=20.911,p=0.0001099,在论文中需写成χ2=20.91,p<0.001,说明不同岗位的男女比例有差异,但具体是哪两个岗位有差异,还需进一步两两比较。(注:论文中卡方值一般保留两位小数,p值一般保留三位小数,如果p<0.001,可以直接写成p<0.001)。如果不符合卡方检验条件,需改用精确概率法,其实就算符合卡方检验条件,也可以直接用精确概率法。使用fisher.test命令进行精确概率法,结果显示p=8.359*10-5,论文中需要写成p<0.001,说明不同岗位的男女比例有差异,但具体是哪两个岗位有差异,还需进一步两两比较。5、两两比较#install.packages("rcompanion")library(rcompanion)#两两比较卡方检验pairwiseNominalIndependence(tab,chisq = TRUE,fisher = FALSE,gtest = FALSE,method = "bonferroni")
上面红色的warning messages提示卡方检验得到的结果可能不准确,为了保险起见,我们采用Fisher精确概率法进行两两比较。#两两比较精确概率法pairwiseNominalIndependence(tab,chisq = FALSE,fisher = TRUE,gtest = FALSE,method = "bonferroni")
结果解读:事后两两比较由于检验次数的增多,会增加一类错误的概率,所以通常需要校正p值或校正检验水准,两者本质是一样的。我们通过R软件进行两两比较的好处是,可以直接设定两两比较p值校正方法,如本例中,我们直接设置为bonferroni法,p.adj.Fisher列即为校正后的p值,可以直接与0.05相比,如果<0.05,说明两者之间差异有统计学意义;否则,说明无统计学意义。本例中,A岗和B岗的男女比例差异有统计学意义,p=6.42*10-5,需要写成p<0.001。需要说明的是,有的p值经校正之后=1,这是很正常的。知识拓展
本例中p值校正的方法,我们选择的是bonferroni法,只要在论文中说明所用方法即可。大家也可以尝试别的方法,更多信息可以在Rstudio中输入?p.adjust获取。希望今天的文章对你有用,随手点个在看吧。本文由刘老师医学统计(ID:ourdata)原创,转载请注明来源。转载、投稿、商务合作、统计学习/咨询请在公众号后台,添加作者微信。
你点的每个赞,我都认真当成了喜欢