即将为您呈现《R语言分析α、β多样性》

正在加载专用插件MathJax或Materialize
背景图
R语言分析α、β多样性

α多样性

Alpha多样性(α多样性)是指在特定生境或生态系统内部的物种多样性。它通常包括两个方面:物种丰富度(种类的数量)和物种均匀度(物种分布的均匀性)。α多样性的测量可以帮助我们了解一个生态系统的复杂性和生物群落的健康状况。

以下是一些常用的α多样性指数及其作用和异同:

  • Shannon指数:

    • 综合考虑了物种的丰富度和均匀度。
    • 值越高,表明群落的多样性越高。
    • 计算公式为 \(H = -\sum (p_i \ln p_i)\),其中\(( p_i )\)是第\(i\)个物种的相对丰度。
  • Richness:

    • 简单地衡量生态群落中物种的数量。
    • 不考虑物种的丰度或其分布。
  • Pielou均匀度指数:

    • 衡量物种分布均匀度的指标。
    • 计算公式为 \(E = H / \ln(S)\),其中\(H\)是Shannon指数,\(S\)是物种数。
  • Simpson指数:

    • 衡量物种丰富度,但考虑物种的丰度权重。

    • 值越大,多样性越低(因为它实际上计算的是均匀度的倒数)。

    • 计算公式为 \(D=∑(n_i/N)^2\)

      ,其中( n_i )是第i个物种的个体数,N是群落中个体的总数。

  • Chao1指数:

    • 估计群落中未被观察到的物种丰富度。
    • 特别适用于样本中有很多稀有物种的情况。

这些指数的主要区别在于它们考虑的多样性方面不同。例如,Shannon和Simpson指数都考虑了物种的丰富度和均匀度,但Shannon更强调均匀度,而Simpson更强调丰富度。Pielou均匀度指数专注于物种分布的均匀性,而Chao1则用于估计可能未被检测到的物种的数量。这些指数通常结合使用,以提供关于生态群落多样性的更全面的视图。

通过下列代码可以绘制α多样性相关指数图:

rm(list = ls())
sheetname<- "Galaxy 32"

library(readxl)
data <- read_excel("alpha_all.xlsx", sheet = sheetname)

# 载入ggplot2包
library(ggplot2)

# 绘制Shannon指数箱线图
data_Shannon <- reshape2::melt(data, id.vars = c("Group", "Shannon"))
p1<-ggplot(data_Shannon, aes(
  x = Group, y = Shannon, fill = Group
)) + # x-axis is Group, y-axis is Shannon index
  geom_boxplot() + # Boxplot color is pink
  labs(x = "Shannon Index", y = "") + # Set x-axis and y-axis labels+
  theme_bw()+ # Set theme to black and white
  theme(axis.text.x=element_blank())
p1

data_Richness <- reshape2::melt(data, id.vars = c("Group", "Richness"))
p2<-ggplot(data_Richness, aes(
  x = Group, y = Richness, fill = Group
)) + # x-axis is Group, y-axis is Shannon index
  geom_boxplot() + # Boxplot color is pink
  labs(x = "Richness Index", y = "") + # Set x-axis and y-axis labels
  theme_bw() + # Set theme to black and white
  theme(axis.text.x=element_blank())
p2

data_Pielou <- reshape2::melt(data, id.vars = c("Group", "Pielou"))
p3<-ggplot(data_Pielou, aes(
  x = Group, y = Pielou, fill = Group
)) + # x-axis is Group, y-axis is Shannon index
  geom_boxplot() + # Boxplot color is pink
  labs(x = "Pielou Index", y = "") + # Set x-axis and y-axis labels
  theme_bw() + # Set theme to black and white
  theme(axis.text.x=element_blank())
p3

data_Simpson <- reshape2::melt(data, id.vars = c("Group", "Simpson"))
p4<-ggplot(data_Simpson, aes(
  x = Group, y = Simpson, fill = Group
)) +
  geom_boxplot() + # Boxplot color is pink
  labs(x = "Simpson Index", y = "") + # Set x-axis and y-axis labels
  theme_bw() + # Set theme to black and white
  theme(axis.text.x=element_blank())
p4

data_Chao1 <- reshape2::melt(data, id.vars = c("Group", "Chao1"))
p5<-ggplot(data_Chao1, aes(
  x = Group, y = Chao1, fill = Group
)) +
  geom_boxplot() + # Boxplot color is pink
  labs(x = "Chao1 Index", y = "") + # Set x-axis and y-axis labels
  theme_bw() + # Set theme to black and white
  theme(axis.text.x=element_blank())+labs(fill = sheetname)
p5

library(patchwork)
p12345 <- p1+guides(fill = FALSE) + p2+guides(fill = FALSE)+ p3+guides(fill = FALSE)+ p4+guides(fill = FALSE)+ p5+
  plot_layout(ncol = 5,nrow = 1)
p12345
ggsave(paste0('alpha_all_',sheetname,'.png'), p12345, width = 6*0.6*5, height =6)

其中,alpha_all.xlsx的格式如:

SiteGroupRichnessShannonSimpsonPielouChao1ACEgoods_coverage
D151_2Raw4565.9859282250.9666261490.677686263908.7631579921.61640370.994927596

结果图:


发表您的看法

加载失败,请刷新页面。若该问题持续出现,则可能是评论区被禁用。