Python和R统计检验比较各组之间的免疫浸润

统计检验用于比较各组间的免疫浸润差异,通过定量分析特定免疫细胞的浸润水平,评估它们在不同条件或组别下的显著性变化。常用方法包括t检验、Mann-Whitney U检验、ANOVA或Kruskal-Wallis检验,选择依据数据分布及样本特点。这些分析可揭示免疫微环境特征,助力探索疾病机制、预测治疗效果或筛选潜在生物标志物,为精准医学提供数据支持。

🌵Python片段

在 Python 中,统计检验可用于比较不同组之间的免疫浸润情况。常见的分析方法包括 t 检验单因素方差分析(ANOVA)非参数检验(如 Mann-Whitney U 检验、Kruskal-Wallis 检验)。以下是实现过程:


1. 数据准备

假设你有一个数据集,包含以下信息:

  • 样本编号 (Sample ID)
  • 组别 (Group)
  • 免疫浸润指标 (Immunoinfiltration)

以下是数据框的结构:

python 复制代码
 Sample ID    Group    Immunoinfiltration
 1            A        0.8
 2            A        0.6
 3            B        1.2
 4            B        1.5
 ...

2. 安装所需库

首先安装常用的库:

bash 复制代码
 pip install numpy pandas scipy seaborn matplotlib

3. Python 代码实现

导入库与加载数据

python 复制代码
 import pandas as pd
 import numpy as np
 from scipy.stats import ttest_ind, mannwhitneyu, f_oneway, kruskal
 import seaborn as sns
 import matplotlib.pyplot as plt
 
 # 假设数据保存在 CSV 文件中
 data = pd.read_csv("immune_infiltration.csv")

可视化数据

可以先使用箱线图或小提琴图观察各组免疫浸润的分布:

python 复制代码
 sns.boxplot(x='Group', y='Immunoinfiltration', data=data)
 plt.title("Immune Infiltration Across Groups")
 plt.show()

或者小提琴图:

python 复制代码
 sns.violinplot(x='Group', y='Immunoinfiltration', data=data, inner='quartile')
 plt.title("Immune Infiltration Across Groups")
 plt.show()

组间统计检验

(1) 两组之间的比较

  • 使用 t 检验(假设数据符合正态分布):
python 复制代码
 group_A = data[data['Group'] == 'A']['Immunoinfiltration']
 group_B = data[data['Group'] == 'B']['Immunoinfiltration']
 
 t_stat, p_val = ttest_ind(group_A, group_B)
 print(f"T-test: t-statistic={t_stat}, p-value={p_val}")
  • 使用 Mann-Whitney U 检验(非参数检验):
python 复制代码
 u_stat, p_val = mannwhitneyu(group_A, group_B)
 print(f"Mann-Whitney U Test: U-statistic={u_stat}, p-value={p_val}")

(2) 多组之间的比较

  • 使用 单因素方差分析(ANOVA)
python 复制代码
 groups = [data[data['Group'] == g]['Immunoinfiltration'] for g in data['Group'].unique()]
 
 f_stat, p_val = f_oneway(*groups)
 print(f"ANOVA: F-statistic={f_stat}, p-value={p_val}")
  • 使用 Kruskal-Wallis 检验(非参数检验):
python 复制代码
 h_stat, p_val = kruskal(*groups)
 print(f"Kruskal-Wallis Test: H-statistic={h_stat}, p-value={p_val}")

4. 结果解读

  • p 值小于显著性水平(如 0.05),则说明组间存在显著差异。
  • 若结果显著,可进一步进行 事后分析(Post-hoc test),例如使用 Tukey HSD 或 Dunn's test。

事后分析示例:

python 复制代码
 pip install scikit-posthocs
 import scikit_posthocs as sp
 
 # 进行 Dunn's 检验
 posthoc = sp.posthoc_dunn(data, val_col='Immunoinfiltration', group_col='Group', p_adjust='bonferroni')
 print(posthoc)

5. 完整流程示例

结合上述代码,可以顺利完成各组免疫浸润的统计分析和可视化。如果需要进一步扩展,还可以结合机器学习模型进行特征关联分析。

👉更新:亚图跨际

相关推荐
dme.17 分钟前
Python爬虫selenium验证-中文识别点选+图片验证码案例
爬虫·python
东方-教育技术博主21 分钟前
wps中zotero插件消失,解决每次都需要重新开问题
python
镰圈量化1 小时前
当电脑上有几个python版本Vscode选择特定版本python
开发语言·vscode·python
宇努力学习1 小时前
如何本地部署seepseek
python·ai·ollama·deepseek
橙狮科技1 小时前
使用 GPTQ 进行 4 位 LLM 量化
人工智能·python·语言模型
开开心心就好1 小时前
娱乐使用,可以生成转账、图片、聊天等对话内容
windows·python·智能手机·软件工程·娱乐·软件需求
愚昧之山绝望之谷开悟之坡1 小时前
ragflow-RAPTOR到底是什么?请通俗的解释!
python
背太阳的牧羊人1 小时前
RAG检索中使用一个 长上下文重排序器(Long Context Reorder) 对检索到的文档进行进一步的处理和排序,优化输出顺序
开发语言·人工智能·python·langchain·rag
007_rbq2 小时前
XUnity.AutoTranslator-Gemini——调用Google的Gemini API, 实现Unity游戏中日文文本的自动翻译
人工智能·python·游戏·机器学习·unity·github·机器翻译
Java知识技术分享2 小时前
使用LangChain构建第一个ReAct Agent
python·react.js·ai·语言模型·langchain