【问题标题】:Report exact p-value in stat_compare_means在 stat_compare_means 中报告准确的 p 值
【发布时间】:2022-11-24 07:39:05
【问题描述】:

我需要报告 ggboxplot 为论文制作的箱线图的确切 p 值,但 p 值非常小,stat_compare_means 只给出 < XX。我怎样才能得到准确的 p 值来代替下面示例中的最小值?

library(ggpubr)
data(ToothGrowth)
data_to_change <- which(ToothGrowth$dose==0.5)
ToothGrowth$len[data_to_change] <- ToothGrowth$len[data_to_change]-10


 ggboxplot(ToothGrowth, x = "dose", y = "len",
           color = "dose", palette = "jco")+

 stat_compare_means(comparisons = my_comparisons, label = "p.format", method = "t.test")

【问题讨论】:

  • 低于 2.2e-16 的 p 值的格式被硬编码到 stat_compare_means 中,无法更改。期刊似乎不太可能需要精确的 8-sigma p 值。在任何情况下,您都可以通过自己运行 t 检验获得准确的 p 值,并将它们包含在论文的正文中。图中的标签仅用于说明。将精确的 p 值放在您的图上是可能的,但需要大量手动绘制元素,这可能不值得麻烦。

标签: r ggplot2 ggpubr


【解决方案1】:

实现此目的的一种方法是简单地更改参数以拥有您自己的自定义标签。您的问题中似乎没有 my_comparisons 对象,因此我也将其添加到我对您的问题的复制中。

#### Add Comparisons ####
my_comparisons <- list( c("0.5", "1"), c("1", "2"), c("0.5", "2") )

#### Reset Arguments in List ####
ggboxplot(ToothGrowth,
          x = "dose", 
          y = "len",
          color = "dose", 
          palette = "jco")+
  stat_compare_means(label = "p.format",
                     comparisons = my_comparisons,
                     method = "t.test",
                     symnum.args = list(cutpoints = c(0, 0.05, 1), 
                                        symbols = "p < 0.05"))

这会将您的所有部分标记为“p < 0.05”。您还可以轻松地为每个 p 值提供一个值向量。

【讨论】:

    猜你喜欢
    • 2019-07-17
    • 1970-01-01
    • 2020-04-17
    • 2018-07-11
    • 2018-11-07
    • 1970-01-01
    • 2015-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多