分享

【R语言】卡方检验和Fisher精确检验,复现临床paper

 生信交流平台 2021-12-29

    做临床数据分析的时候我们经常会用卡方检验或者Fisher精确检验去看看不同的临床特征在两组里面有没有显著差异。今天小编就带大家来重现一下下面这篇paper的Table2

Table2里面主要展示的是各种临床特征在MEX3A高表达组和低表达组里面是否存在显著差异,用的是卡方检验。

根据卡方检验的结果,作者得到了如下结论。

接下来我们就来用R代码做卡方检验,算出P值

先来对年龄做卡方检验

##################Age#################table=matrix(c(51,66,66,189),nrow=2)colnames(table)=c("High","Low")rownames(table)=c("<55",">=55")table

跟Table2里面的数据保持一致

chisq.test(table)

这里算出来的卡方值和p值跟Table2中是一致的

接下来我们来对组织病理分期来做卡方检验

#########################stage########################table=matrix(c(48,30,30,2,124,57,55,3),nrow=4)colnames(table)=c("High","Low")rownames(table)=c("I","II","III","IV")table

也跟表里的数据保持一致

chisq.test(table)

这里算出来的卡方值跟文中是一样的,但是p值略微有些出入,并且这里有个warning,大意是算出来的p值可能不准。

一般当某个组的样本数少于5个的时候,做卡方检验就会出现这种情况。

解决方法是用Fisher精确检验

fisher.test(table)

你会发现这个时候就没有warning了,并且p值跟文中的是一样的,这是巧合吗?大家自己体会

最后我们来看看生存状态的卡方检验

####################Vital status###################table=matrix(c(55,62,75,181),nrow=2)colnames(table)=c("High","Low")rownames(table)=c("Deceased","Living")table

跟表中数据保持一致

chisq.test(table)

计算出的卡方值和p值都跟文中一样

剩下的临床特征的卡方检验,就留给大家自己练习吧!

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多