stat_compare_means() 给出与 compare_means() 或 t.test() 不同的 p.value

stat_compare_means() gives different p.value than compare_means() or t.test()

我想使用 ggplot2 绘制数据并使用 ggpubr 添加 p 值。但是绘制的 p 值与我用 compare_means()t.test().

计算的 p 值不匹配

这是我的数据:

Group <- rep(c('A'), each=12)
Drug <- rep(c('x','y'), each= 6)
RC <- c(13076,  10814,  14297,  13119,  13616,  5, 19671,   18318,  12058,  17624,  9565,   13689)
mydf <- as.data.frame(cbind(Group,Drug,RC))
mydf$RC <- as.numeric(as.character(mydf$RC))

这是剧情代码:

library(ggplot2)
library(ggpubr)
ggplot(mydf, aes(x=factor(Group),y=log10(RC)))+
geom_boxplot(aes(color=Drug))+stat_compare_means(aes(group = Drug), method = "t.test", label = "p.format")

显示的p.value是p=0.32。但是,当我使用其他方法计算 p.value 我得到这个 ~0.149

compare_means(RC~Drug,data=mydf, method = "t.test")

t.test(RC~Drug,data=mydf, exact= FALSE)

类似的问题已得到解决 here,但在这种情况下 compare_means() 给出了与 stat_compare_means()t.test() 相比的另一个结果。我确保拥有最新版本的 ggpubr (ggpubr_0.1.6.999).

我错过了什么?

您正在对日志值进行测试:

t.test(log10(RC) ~ Drug, data = mydf, exact = FALSE)
# 0.3237