美文网首页
周转(repl)和嵌套(nest)对β多样性贡献的分解

周转(repl)和嵌套(nest)对β多样性贡献的分解

作者: 西北工作室 | 来源:发表于2022-10-04 20:55 被阅读0次

    Sørensen 指数和 Jaccard 指数作为配对样方间β 多样性的度量,使用 Baselga 在 2010 和 2012 年提出的 β 多样性分解方法结合 Legendre 在 2014 年对该方法的总结和改进,将群落间物种组成差异(即 β 多样性)分解成周转组分(用 Repl 表示)和嵌套组分(用 Nest 表示)(余等,2022)。

    Jaccard指数计算:

    library(adespatial)
    #数据为丰度数据(行:样本,列:物种)
    data=read.csv("asv_table.csv",row.names = 1)
    #利用 beta.div.comp函数计算
    out1 <- beta.div.comp(t(data), coef ='J', quant = FALSE)
    #样本对之间的相异指数计算
    D <- as.matrix(out1$D)
    diag(D) <- "NA" 
    D[upper.tri(D)] <- "NA"
    D1=melt(D)
    D1=subset(D1,!D1$value=="NA")
    #样本对之间的物种替换(repl)
    repl <- as.matrix(out1$repl)
    diag(repl) <- "NA" 
    repl[upper.tri(repl)] <- "NA"
    repl1=melt(repl)
    repl1=subset(repl1,!repl1$value=="NA")
    #样本对之间的丰富度差异(nest)
    nest <- as.matrix(out1$nest)
    diag(nest) <- "NA" 
    nest[upper.tri(nest)] <- "NA"
    nest1=melt(nest)
    nest1=subset(nest1,!nest1$value=="NA")
    #合并数据nest-repl至data.frame:
    dff=merge(D1,repl1,by=c("Var1","Var2"))
    dff=merge(dff,nest1,by=c("Var1","Var2"))
    colnames(dff)=c("site1","site2","D","repl","nest")
    dff$site=paste(dff$site1,dff$site2,sep="_")
    
    library(ggtern)
    dff$D=as.numeric(dff$D)
    dff$repl=as.numeric(dff$repl)
    dff$nest=as.numeric(dff$nest)
    #计算平均值
    dm=as.data.frame(t(data.frame(mean=colMeans(dff[,3:5]))))
    #绘图
    p=ggtern(data=dff,aes(1-D,repl,nest))+
      geom_point(alpha=0.2,size=3)+
      stat_density_tern(
        geom='polygon',
        base = "ilr",
        aes(fill=..level..,
            alpha = ..level..))+
      geom_point(data=dm,col="green4",size=5)+
      scale_fill_gradient(low = "blue",
                          high = "red")+
      labs(x ="1-β",y = "Repl",z = "Nest",
           title = "",fill = "level")+
      guides(alpha = "none",position="bottom")+
      theme_rgbw()+
      theme(legend.position = "bottom",
            legend.key = element_rect(fill = NA),
            text=element_text(size=16,  family="serif"))
    p
    ggsave(filename="三元相图.pdf",width = 10,height = 10)
    #输出表格
    write.csv(dff,"repl_nset.csv",row.names = F)
    

    如在余等(2022)的文章中,Jaccard 指数法显示在灌木植物中,周转和嵌套对 β 多样性的贡献分别为 82%和 18%;在草本植物中,周转和嵌套对 β 多样性的贡献分别为 95%和 5%。
    有需要也可@TB:西北工作室

    相关文章

      网友评论

          本文标题:周转(repl)和嵌套(nest)对β多样性贡献的分解

          本文链接:https://www.haomeiwen.com/subject/ebvpartx.html