如何使用 stat_cor() 函数将大写字母 P 的 p 值赋给 ggplot 对象?

How to p-value with uppercase letter P to a ggplot object by using stat_cor() function?

我创建了一个散点图并尝试在其上添加 R 和 P 值。我使用了 ggpubr 包的 stat_cor() 函数。该函数允许您使用大写或小写的 R 系数,但我找不到 p 值的选项。有没有办法把p值的字母p写成大写?

一个选项是使用计算变量自己创建标签(参见 stat_cor 返回的 ?stat_cor 并将 p 替换为 P 使用例如 gsub:

使用 ?stat_cor 中的默认示例:

library(ggpubr)
#> Loading required package: ggplot2

df <- mtcars
df$cyl <- as.factor(df$cyl)

sp <- ggscatter(df, x = "wt", y = "mpg",
                add = "reg.line",  # Add regressin line
                add.params = list(color = "blue", fill = "lightgray"), # Customize reg. line
                conf.int = TRUE # Add confidence interval
)
sp + stat_cor(aes(label = paste(..rr.label.., gsub("p", "P", ..p.label..), sep = "~`,`~")),
  label.x = 3
)
#> `geom_smooth()` using formula 'y ~ x'