1

required package : install.packages("ggpubr")

library(ggpubr)
data("ToothGrowth")
df_compare <- compare_means(len~supp, data=ToothGrowth, method = "wilcox.test", paired = TRUE,
                                 group.by = "dose")

My question is how I can set the significant level based on 'p.adj' instead of 'p.format' because I want to add 'p.signif' on my plot but based on 'p.adj' ,and second question is how can I use report function from report package for this output? If someone has a suggestion or explanation, I would appreciate.

Balina
  • 81
  • 5

1 Answers1

0

First I looked at the help page to see if I could find a simple parameter to set. No such luck. Then I looked at the code to see if there were an undocumented route to happiness. Again, no joy. So I found the section of code where the p.signif value was constructed and then worked backward to see whee the arguments were obtaine and finally applied base::p.adjust to those values. (It was an alteration of one line. Then I set the environment to the same as compare_means. Success.

compare_means # code appears on console

compare_means_adj <-  # edit a copy of the code scraped from console
+ function (formula, data, method = "wilcox.test", paired = FALSE, 
+     group.by = NULL, ref.group = NULL, symnum.args = list(), 
+     p.adjust.method = "holm", ...) 
+ {
+     . <- NULL
+     method.info <- .method_info(method)
+     method <- method.info$method
# --- leaving out a couple of pages of code
# --- one finds the relevant code at the very end

  symnum.args$x <- p.adjust(res$p)

#  --- that was the only line of code that was changed


 environment(compare_means_adj) <- environment(compare_means)
 (df_compare <- compare_means_adj(len~supp, data=ToothGrowth, method = "wilcox.test", paired = TRUE,
                                  group.by = "dose"))
#------------------------------------
# A tibble: 3 × 9
   dose .y.   group1 group2      p p.adj p.format p.signif method  
  <dbl> <chr> <chr>  <chr>   <dbl> <dbl> <chr>    <chr>    <chr>   
1   0.5 len   OJ     VC     0.0330 0.066 0.033    ns       Wilcoxon
2   1   len   OJ     VC     0.0137 0.041 0.014    *        Wilcoxon
3   2   len   OJ     VC     1      1     1.000    ns       Wilcoxon
IRTFM
  • 258,963
  • 21
  • 364
  • 487