我希望能够通过R程序包ggpubr
中的stat_compare_means
函数将Kruskal-Wallis检验的p值绘制到我的ggplot
图形上。
然而,绘制出来的值与简单运行该函数得到的值不同:
kruskal.test(value ~ type, data = Profile_melt)
我用于绘制p值的代码是:
ggplot(Profile_melt, aes(type, value)) +
geom_boxplot(aes(fill = factor(type), alpha = 0.5),
outlier.shape = NA, show.legend = FALSE) +
geom_jitter(width = 0.2, size = 2, show.legend = FALSE,
aes(colour = factor(type)), alpha = 0.5) +
theme_bw() +
facet_grid(Case ~ Marker, scales = 'free') +
stat_compare_means(comparison = list(c("Real", "Binomial")),method = 'kruskal.test')+
background_grid(major = 'y', minor = "none") + # add thin horizontal lines
xlab('Category') +
ylab('Cell counts (Frequencies)')+
theme(axis.text = element_text(size = 15),
axis.title = element_text(size = 20),
legend.text = element_text(size = 38),
legend.title = element_text(size = 30),
strip.background = element_rect(colour="black", fill="white"),
strip.text = element_text(margin = margin(10, 10, 10, 10), size = 25)) +
panel_border()
这是我的数据示例数据
facet
以相同的方式工作,但由于您只有小样本,它会产生一些警告不能计算具有绑定值的精确 p-值
。正如我所说,真正的修复方法可能是更改ggpubr
。 - Zhiqiang Wang