在 ggcorrplot 中显示重要 p 值的星号

Show asterisk for significant p values in ggcorrplot

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

更新:所以我决定查看源代码并对其进行一些修改以生成我想要实现的格式。如果您复制 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)
    )
  }

原来的样子是这样的:

虽然修改后的会是这样的: 当然,根据视觉偏好,可以通过 x 和 y 参数自定义微移。然后在函数中,只需选择 pch = 8(这是星号)和 pch.cex = 1(星号的大小),这应该基本上实现 objective 显着相关性显示星号而不是显示交叉对于无关紧要的相关性。希望以后能派上用场!