费舍尔精确检验简介
参考:https://mp.weixin.qq.com/s/B9gkW7bB7slddIrybmwkSQ
费舍尔精确检验(Fisher’s exact test)是一种用于计算两个类别变量之间的相关性的非参数检验方法。它的目的是确定两个类别变量之间的联合概率分布,从而检验它们之间是否存在显著的相关性。
在费舍尔精确检验中,我们通常会将数据表示为一个二维列联表(contingency table),其中行表示一个类别变量的不同取值,列表示另一个类别变量的不同取值。然后,我们计算出这个列表中所有可能的数据分布方式下,出现观察数据或更极端情况的概率,也就是p值。如果p值低于预设的显著性水平(通常为0.05),则我们认为这两个类别变量之间存在显著的相关性。
费舍尔精确检验适用于样本量较小的情况下,特别是在存在稀疏数据的情况下。与卡方检验(chi-square test)相比,费舍尔精确检验更加准确,但计算成本也更高。因此,在大样本和稠密数据的情况下,卡方检验更为常用。
源代码及测试数据链接:
https://github.com/YongxinLiu/MicrobiomeStatPlot/项目中目录 3.Visualization_and_interpretation/Fisher'sExactTest
或公众号后台回复“MicrobiomeStatPlot”领取
这是Laurence Zitvogel团队2024年发表于Cell上的一篇论文在确定物种之间的关系时用到了Fisher’s exact test。论文题目为:Custom scoring based on ecological topology of gut microbiota associated with cancer immunotherapy outcome. https://doi.org/10.1016/j.cell.2024.05.029
图 S2 | NSCLC 患者发现队列中与总体生存率相关的共丰度网络和 SIG (A) 使用 180 个选定的宏基因组物种 (MGS) 的共现矩阵的发现队列 (n = 245) 的微生物网络。
缘显著 (p% 0.001) Fisher 关联 (粉色和蓝色线分别表示共现和共排除模式)。节点 (代表 MGS) 根据已识别的 7 个共现簇 C1 至 C7 着色 (参见图 S3)。
结果
然后,根据这 266 个 MGS 的缺失/存在共现情况,通过 2 3 2 列联表上的 Fisher 精确检验对它们进行分析,并根据 log10(p) 3 符号 (OR 1) 指标进行评分,其中 p 是 Fisher p 值,OR 是 2 3 2 表的优势比。该指标定义了一个与两个 MGS 之间相互作用的重要性 ( log10(p)) 成比例的分数,如果是共排斥模式 (OR < 1),则为负数,如果是共现 (OR > 1),则为正数。保留 Bonferroni 校正 p 值 % 0.05 的相互作用进行分析(图 S2A)。
源代码及测试数据链接:
https://github.com/YongxinLiu/MicrobiomeStatPlot/
或公众号后台回复“MicrobiomeStatPlot”领取
# 创建 2x2 列联表
# Create a 2x2 contingency table
data <- matrix(c(10, 20, 30, 40), nrow = 2)
colnames(data) <- c("group1", "group2")
rownames(data) <- c("Exposure", "Non_exposure")
# 执行费舍尔精确检验
# Fisher's exact test
fisher_result <- fisher.test(data)
# 提取相关结果
# Extract results
result_df <- data.frame(
p_value = fisher_result$p.value,
estimate = fisher_result$estimate,
conf_int_lower = fisher_result$conf.int[1],
conf_int_upper = fisher_result$conf.int[2],
method = fisher_result$method
)
# 将结果保存为 CSV 文件
# Save results
write.csv(result_df, file = "results/fisher_test_result.csv", row.names = FALSE)
在这个例子中,我们创建了一个 2x2 的列联表,其中包括两个组(组1和组2)和两个暴露水平(暴露和未暴露)。然后,我们使用 fisher.test() 函数执行费舍尔精确检验,该函数返回测试统计量、P值和置信区间的结果。默认情况下,检验是双侧的,但是我们可以通过将 alternative 参数设置为 “less” 或 “greater” 来指定单侧检验。
星号和p值是统计学中常见的两个表示显著性的方式,通常用于表示两组数据或变量之间的差异是否显著。一般来说,p值越小,差异越显著;而星号的数量越多,则显著性越高。
具体来说,一般使用以下约定:Specifically, the following conventions are generally used: p值 < 0.05:通常表示显著差异,并用一个星号()表示。p-value < 0.05: usually indicates a significant difference and is indicated by an asterisk (). p值 < 0.01:表示非常显著差异,并用两个星号()表示。p-value < 0.01: indicates a very significant difference and is indicated by two asterisks (). p值 < 0.001:表示极其显著差异,并用三个星号()表示。p-value < 0.001: indicates an extremely significant difference and is indicated by three asterisks (). 需要注意的是,单纯地使用星号来表示显著性不是一个很严谨的方式,因为它并没有明确地告诉读者显著性的具体水平。因此,我们应该在报告中同时给出p值和星号的数量,以便读者能够更好地理解研究结果的显著性。
使用此脚本,请引用下文:
Yong-Xin Liu, Lei Chen, Tengfei Ma, Xiaofang Li, Maosheng Zheng, Xin Zhou, Liang Chen, Xubo Qian, Jiao Xi, Hongye Lu, Huiluo Cao, Xiaoya Ma, Bian Bian, Pengfan Zhang, Jiqiu Wu, Ren-You Gan, Baolei Jia, Linyang Sun, Zhicheng Ju, Yunyun Gao, Tao Wen, Tong Chen. 2023. EasyAmplicon: An easy-to-use, open-source, reproducible, and community-based pipeline for amplicon data analysis in microbiome research. iMeta 2: e83. https://doi.org/10.1002/imt2.83
Copyright 2016-2024 Defeng Bai baidefeng@caas.cn, Chuang Ma 22720765@stu.ahau.edu.cn, Jiani Xun 15231572937@163.com, Yong-Xin Liu liuyongxin@caas.cn
猜你喜欢
iMeta高引文章 fastp 复杂热图 ggtree 绘图imageGP 网络iNAP
iMeta网页工具 代谢组MetOrigin 美吉云乳酸化预测DeepKla
iMeta综述 肠菌菌群 植物菌群 口腔菌群 蛋白质结构预测
10000+:菌群分析 宝宝与猫狗 梅毒狂想曲 提DNA发Nature
一文读懂:宏基因组 寄生虫益处 进化树 必备技能:提问 搜索 Endnote
16S功能预测 PICRUSt FAPROTAX Bugbase Tax4Fun
生物科普: 肠道细菌 人体上的生命 生命大跃进 细胞暗战 人体奥秘
写在后面
为鼓励读者交流快速解决科研困难,我们建立了“宏基因组”讨论群,己有国内外6000+ 科研人员加入。请添加主编微信meta-genomics带你入群,务必备注“姓名-单位-研究方向-职称/年级”。高级职称请注明身份,另有海内外微生物PI群供大佬合作交流。技术问题寻求帮助,首先阅读《如何优雅的提问》学习解决问题思路,仍未解决群内讨论,问题不私聊,帮助同行。
点击阅读原文