微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 ggcorrplot 中显示显着 p 值的星号

如何解决在 ggcorrplot 中显示显着 p 值的星号

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

enter image description here

解决方法

更新:所以我决定查看源代码并对其进行一些修改以生成我想要实现的格式。如果您复制 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 行,我在函数中添加了位置参数:

# 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)
    )
  }

原件看起来像: enter image description here

虽然修改后的会是这样的: enter image description here 当然,根据视觉偏好,可以通过 x 和 y 参数自定义微调。然后在函数中,只需选择 pch = 8(这是星号)和 pch.cex = 1(星号的大小),这应该基本上达到了显示显着相关性的星号而不是显示不显着相关性的交叉的目标。希望以后能有用!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。