我想问一下,是否可以自定义ggcorrplot中的p值表示,以便用星号标记重要的p值,而不是用十字标记无关紧要的相关性?希望它看起来像这样:

发布于 2021-05-23 00:40:12
更新:因此,我决定查看源代码,并对其进行了一些修改,以生成我想要实现的格式。如果复制ggcorrplot()函数的整个代码,则在第215行,原始代码为:
p.mat <- subset(p.mat, p.mat$value > sig.level)
将其替换为:
p.mat <- subset(p.mat, p.mat$value <= sig.level & p.mat$value != 0)
!= 0部分是假设你会选择全相关图,并在那里防止中间的对角线有星号,我相信没有p值实际上应该是0,所以它应该是好的。
然后在第295行,我在函数内部添加了position参数:
# matrix cell glyphs
if (!is.null(p.mat) & insig == "pch") {
p <- p + ggplot2::geom_point(
data = p.mat,
mapping = ggplot2::aes_string(x = "Var1", y = "Var2"),
shape = pch,
size = pch.cex,
color = pch.col,
position = position_nudge(x=0.35,y=0.16)
)
}原始文件看起来像这样:

而修改后的应该是这样的:

当然,根据视觉偏好,可以通过x和y参数自定义轻推。然后在函数中,只需选择pch =8(这是星号)和pch.cex =1(星号的大小),这应该基本上可以实现显示显著相关性的星号而不是显示无关性的十字的目标。希望它能在未来有用!
https://stackoverflow.com/questions/67646967
复制相似问题