R 如何从成对的wilcox测试中得出绘图结果?

R 如何从成对的wilcox测试中得出绘图结果?,r,R,我想画一个气泡图/圆圈图,由两两比较生成的p.值。目标是能够直观地识别哪些比较是显著的(p%rownames\u to_column()%%>%pivot\u longer(-rowname)%%>%mutate(sig=case\u当(value%ggplot()+geom\u tile(aes(rowname,name,fill=sig))+scale\u fill\u手册(value=c('white',red'))+guides(fill=FALSE)++coord\u equal()+

我想画一个气泡图/圆圈图,由两两比较生成的p.值。目标是能够直观地识别哪些比较是显著的(p<0.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) )
有没有类似于corrplot的绘制方法?或者其他任何只显示显著比较的方式都很好


谢谢

正如@dcarlson所评论的,您的主要问题是显著的p值很小,这与
corrplot
所预期的相反

因此,一个相当简单的技巧是变换p值,使值越大,对应的意义就越大。一种常用的方法是取日志的负数(这很好,因为所有的p值都小于一,所以所有的日志(p值)都是负数)


data.frame(test$p.value)%%>%rownames\u to_column()%%>%pivot\u longer(-rowname)%%>%mutate(sig=case\u当(value<0.05~有效,TRUE~”)%%>%ggplot()+geom\u tile(aes(rowname,name,fill=sig))+scale\u fill\u手册(value=c('white',red'))+guides(fill=FALSE)++coord\u equal()+theme\u minimal()?一个
corrplot
并不真正合适,因为它显示了两个变量之间关系的强度。越大越好。对于p值,越大越好,越小越好。ANOVA中的两两差异通常通过显示每次比较的置信区间来绘制。例如:
plot(TukeyHSD(aov(臭氧~month.name[month],airquality)))
yes这就快到了。我最近也做了同样的事情-我也只是将所有的NA和>.05转换为0,但是顺序是错误的,缺少列是有问题的。例如,列应该包含所有变量,并且与行的顺序相同,因此它应该是column may并以may row开头。。等等但我似乎无法让它像那样工作;(
> 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
my_transformed_pvals=-log10(test$p.value)
corrplot(as.matrix(my_transformed_pvals),is.corr=F)