r - 如何将 Benjamini-Hochberge 校正的 p 值添加到箱线图中,而不是 R 中默认的“holm”校正 p 值?
问题描述
我计划使用 Kruskal Wallis 检验比较四组数据集,进行成对比较,然后使用 Benjamin-Hochberg 校正 p 值。我曾经stat_compare_mean()
成功地展示了全局 p 值,但是,根据这个网站,在我的研究中,需要使用 BH 校正由成对比较产生的 p 值,而p.adj
R 中的所有值似乎都是“holm”校正的 p 值(http://www.sthda.com/english/articles/24-ggpubr-publication-ready-plots/76-add-p-values-and-significance-levels-to-ggplots/)。
我试过 stat_compare_means(comparisons = compares, aes(label = ..p.adj.. ), method = "wilcox.test", p.adjust.method = "BH")。
这是我的完整代码:
comparisons <- lapply(as.data.frame(combn(Treatment, m =2 , simplify = TRUE)), function(pair) {
as.character(pair)
})
for (metabolite in metabolites) {
metabolite_dat_during <- setNames(subset(dat_P_BI_QUANT_during, select = c(metabolite, "Treatment")), nm = c("metabolite", "Treatment"))
gg_during <- ggboxplot(metabolite_dat_during, x = "Treatment", y = "metabolite",title = metabolite, color = "Treatment", palette = "jco",
add = c("median_iqr", "jitter")) +
stat_compare_means(comparisons = comparisons, aes(label = ..p.adj.. ), method = "wilcox.test", p.adjust.method = "BH")+
stat_compare_means(label.y=0.0001) +
scale_y_continuous(name = "conc(mmol/L)")
ggsave(filename = paste0(save_dir, "metabolite-", metabolite, ".png"), plot = gg_during)
}
我希望可以使用上面的代码使用 BH 来纠正 p 值。然而,p 值似乎没有被纠正,即使不使用“holm”,因为 p 值与未纠正的 p 值相同。此外,我还遇到了一些错误:
在 wilcox.test.default(c(0.07, 0.07, 0.06, 0.08, 0.06, ... : 无法计算精确的 p 值与关系。
解决方案
推荐阅读
- ms-word - 使用Openxml c#如何在不打开文档的情况下更新数据绑定
- php - 如何通过字符串读取数字行?(在循环内)
- python - 发生随机“无”控制台打印
- c - 如何修复冒泡排序?它没有按数字顺序排列
- node.js - 使用 Jest 模拟 node-klaviyo 模块
- python - 给定路径,如何使用 python 只提取其中的一部分?
- swift - 如何为 MacOS 制作授权插件
- events - 胖域事件或瘦域事件
- amazon-web-services - 如何使用 EC2 用户数据将 windows 服务器加入 AD 并使服务器上的 AD 组管理员
- react-native - Google.useAuthRequest() 响应为空