首页 > 解决方案 > pairwise.wilcox.test 如何绘制结果?

问题描述

我想绘制从成对比较生成的 p.values 的气泡/圆形图。目标是能够直观地识别哪些比较是显着的 p < .05

例如,从 corrplot 生成的那个。我认为这个问题是因为它生成的表不完整,因为它没有完整。例如,对于 5 月至 9 月的比较,表格如下所示。这是我尝试用 corrplot 绘制这个的尝试吗?

 library ( corrplot)
    attach(airquality)
    Month <- factor(Month, labels = month.abb[5:9])
    ## These give warnings because of ties :

    test = pairwise.wilcox.test(Ozone, Month, p.adj = "bonf")
    detach()

    corrplot(as.matrix (test$p.value), 
p.mat = as.matrix (test$p.value) ,  is.corr = FALSE, method = "circle", mar = c(1, 1, 2, 0) )

成对生成的表格如下所示。

> test$p.value
            May       Jun         Jul        Aug
Jun 1.000000000        NA          NA         NA
Jul 0.000299639 0.1413625          NA         NA
Aug 0.001208078 0.2590776 1.000000000         NA
Sep 1.000000000 1.0000000 0.007442604 0.03247955

有没有办法绘制类似于 corrplot 的图?或者任何其他仅显示显着比较的方式都会很棒。

谢谢!

标签: r

解决方案


正如@dcarlson 所评论的,您的主要问题是显着的 p 值很小,这与corrplot.

所以一个相当简单的技巧是转换 p 值,以便更大的值对应更显着。一种常用的方法是取对数的负数(这很好用,因为所有 p 值都小于 1,所以所有对数(p 值)都是负数)。

my_transformed_pvals=-log10(test$p.value)
corrplot(as.matrix(my_transformed_pvals),is.corr=F)

在此处输入图像描述


推荐阅读