1

我想在绘制多个相关测试时调整多个测试。psych 包中的 corr.test 效果很好,但没有很好的图形输出。我对使用 GGally 包中的 ggpairs 特别感兴趣,因为它允许每个单元格有多个相关性(例如,在下面的示例中按物种分割)。但我似乎找不到添加 p.adjust 或类似语句的方法。

例如:

library(GGally)
data(flea)
ggpairs(flea, columns=2:4, ggplot2::aes(colour=species))

执行 12 个独立的相关测试并生成一个漂亮的图,用星号指示显着性水平。但是如何调整已经完成了 12 个相关测试(而不是一个)?

我希望能够做类似的事情:

ggpairs(flea, columns=2:4, ggplot2::aes(colour=species, p.adjust="Bonferroni"))

这不会引发任何错误。但据我所知,它也导致显着性测试没有差异 - 似乎 p.adjust 语句被忽略了。

1)它被忽略了吗?您如何访问实际的 p 值而不仅仅是 *** 以更详细地检查这一点?

2)假设它被忽略了,我该如何调整显着性测试以考虑多重测试?

我对可以处理多种类型调整的方法特别感兴趣,而不仅仅是 Bonferroni。我在示例中使用了 Bonferroni,因为它是最保守的,因此(我认为)最容易看到校正/未校正输出之间的差异。我想用它来可视化几十到几百个带有 fdr 校正(或类似)的相关测试的结果。

4

1 回答 1

0

我没有,谢谢你的建议。也许我在这里遗漏了一些东西,但它似乎并不那么简单:

holm_cors<-corr.test(flea[,2:4]) #default is holm method multiple test corrections
holm_p<-fdr_cors$p

ggpairs(flea, columns=c(2:4), mapping=ggplot2::aes(colour=flea$species), legends=T, axisLabels="show", upper=list(continuous=holm_p)+
theme(panel.grid.major=element_blank(), panel.grid.minor=element_blank(), axis.line=element_line(colour="black")))

我还尝试了 upper=list(continuous=holm_cors, Continuous="holm_p" 等,以及用 upper=list(continuous=wrap(corr.test)) 包装 corr.test 函数。

在所有情况下,返回的上面板都是空白的。

于 2020-06-16T17:56:23.443 回答