R: 阿尔法α多样性计算和箱图制作,以及差异分析

R 复制代码
# install.packages("vegan")
library(vegan)
library(ggplot2)
library(ggpubr)

setwd("xxx")
# 使用read.table()函数读取数据
df <- read.table("xxx", header = TRUE, row.names = 1)

# 转置数据框
df <- t(df)

# 计算每个样品的香农多样性指数
shannon <- apply(df, 1, diversity)

# 创建一个数据框来存储样品名和对应的香农多样性指数
data <- data.frame(sample = names(shannon), shannon = shannon)

# 读取元数据
metadata <- read.table("mother_metadata.txt", header = TRUE, row.names = 1)

# 将元数据和样品数据合并到一个数据框中
data <- merge(data, metadata, by = "row.names", all.x = TRUE)

# 设置每个组的颜色
group_colors <- c("IC" = "#BD3C29", "RC" = "#0172B6", "OS" = "#78D3AC", "VS" = "#E18727")
# 首先设置比较的列表
compare_list <- list(
  c("RC","VS"))

# 使用ggplot2创建箱线图
p <- ggplot(data, aes(x = group, y = shannon, fill = group, colour = group)) +
  geom_boxplot(width = 0.5, alpha = 0.6, lwd = 1.15, outlier.shape = NA) +  # 调整箱的大小
  geom_jitter(width = 0.3, size = 3, alpha = 0.75) +  # 添加散点
  labs(y = "Shannon Diversity") +
  scale_fill_manual(values = group_colors) +  # 设置颜色
  scale_color_manual(values = group_colors) +
  theme_minimal() +
  labs(x = NULL) +
  theme(panel.border = element_rect(colour = "black", fill=NA, linewidth = 1.1)) +
  stat_compare_means(
    comparisons = compare_list,
    method = "wilcox.test",
    label = "p.signif",
    hide.ns = TRUE)
  # 添加检验结果

# 显示图形
#print(p)

# 保存图形为PDF
ggsave("barplot.pdf", p, height = 5, width = 5)
相关推荐
知识分享小能手11 小时前
R语言入门学习教程,从入门到精通,R语言数值关系数据可视化 - 完整知识点(5)
学习·信息可视化·r语言
生信碱移20 小时前
PACells:这个方法可以鉴定疾病/预后相关的重要细胞亚群,作者提供的代码流程可以学习起来了,甚至兼容转录组与 ATAC 两种数据类型!
人工智能·学习·算法·机器学习·数据挖掘·数据分析·r语言
知识分享小能手1 天前
R语言入门学习教程,从入门到精通,R语言类别比较数据可视化- 完整知识点与案例代码(4)
学习·信息可视化·r语言
星座5281 天前
掌握双碳核心工具,从产品碳足迹到气候变化响应:基于OpenLCA、GREET、R语言的生命周期评价方法、模型构建及典型案例应用
r语言·生命周期·openlca·greet
知识分享小能手2 天前
R语言入门学习教程,从入门到精通,R语言网格绘图系统(ggplot2)- 完整知识点与案例代码(3)
开发语言·学习·r语言
做cv的小昊2 天前
【TJU】研究生应用统计学课程笔记(5)——第二章 参数估计(2.3 C-R不等式)
c语言·笔记·线性代数·机器学习·数学建模·r语言·概率论
hhb_6183 天前
R语言数据分析与可视化实战指南
开发语言·数据分析·r语言
知识分享小能手3 天前
R语言入门学习教程,从入门到精通,R语言传统绘图系统 - 完整知识点与案例代码(2)
开发语言·学习·r语言
笑不语4 天前
从共病网络到可解释 AI:同济医院 10 分 SCI 全流程复现(R 语言)
开发语言·人工智能·r语言
知识分享小能手4 天前
R语言入门学习教程,从入门到精通,R语言基础 - 完整知识点与案例代码(1)
开发语言·学习·r语言