美文网首页R
【R语言】卡方检验和Fisher精确检验,复现临床paper

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

作者: 生信交流平台 | 来源:发表于2021-06-18 20:30 被阅读0次

    做临床数据分析的时候我们经常会用卡方检验或者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值都跟文中一样

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

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

    相关文章

      网友评论

        本文标题:【R语言】卡方检验和Fisher精确检验,复现临床paper

        本文链接:https://www.haomeiwen.com/subject/roslyltx.html