R语言 | 绘制群落物种累积曲线

R语言 | 绘制群落物种累积曲线
R语言绘制物种累积曲线
R语言 | 绘制群落物种累积曲线

物种累积曲线(Species accumulation curves,SAC),用于估计特定区域中的物种数量。物种累积曲线反映的是抽样个数对物种多样性的影响,当抽样个数较少时,发现的物种并不全面,并不能表征整个群落结构;随着抽样个数的上升,发现的物种种类数越来越多,也更能表征这个群落结构。这里的“抽样”,既可以指物种个体数量,也可以指观测的样方数量。

本篇带来R语言绘制物种累积曲线的方法。vegan包是生态统计的常用R包,我们通过调用其方法实现。同时使用到其内置数据集BCI,它的每一行代表了一个取样样方,每一列代表了一种物种,交叉区域为各样方中观测到的该物种个体数量。

 

如上所述,“抽样”既可以指物种个体数量,也可以指观测的样方数量,因此,物种累积曲线常见两种表现形式。

第一种表现形式,横坐标为调查到的个体数量,纵坐标为物种种类数。随着调查到的个体数量逐渐增加,曲线趋近平缓,代表群落中的物种接近全部被观测到;反之表明不饱和,还需继续调查物种。这种类型的曲线,也即前篇所提到的“稀释曲线”,细节本篇不再作更多描述,可参阅前文

library(vegan)

#使用 vegan 自带的数据集 BCI,第一种类型的物种累积曲线,也就是稀释曲线
data(BCI)

#展示 5 个样方的物种累积曲线(稀释曲线)
#详情 ?rarecurve
rarecurve(BCI[1:5,], step = 20, col = c('red', 'green', 'blue', 'orange', 'purple', 'black'))

R语言 | 绘制群落物种累积曲线

第二种表现形式,横坐标为样本数量,纵坐标为物种种类数。随着取样样本(所观测的样方)数量逐渐增加,所观测到的物种种类也不断增加。当曲线趋近平缓时,代表群落中的物种接近全部被观测到;反之不饱和,还需继续观测更多的样方。

##使用 vegan 自带的数据集 BCI,第二种类型的物种累积曲线
data(BCI)

#函数 specaccum() 可以统计一定数量的采样点的物种数量
#详情 ?specaccum
sp <- specaccum(BCI, method = 'random')
sp
summary(sp)

#作图展示
plot(sp, ci.type = 'poly', col = 'blue', lwd = 2, ci.lty = 0, ci.col = 'lightblue')
boxplot(sp, col = 'yellow', add = TRUE, pch = '+')

R语言 | 绘制群落物种累积曲线

#可通过 fitspecaccum() 在其中拟合非线性物种累积模型,例如
mod <- fitspecaccum(sp, model = 'lomolino') #Fit Lomolino model to the exact accumulation
mod <- fitspecaccum(sp, model = 'arrh') #Fit Arrhenius models to all random accumulations

#查看拟合模型
coef(mod)
fitted(mod)

#作图展示
plot(mod, col = 'hotpink')
boxplot(sp, col = 'yellow', border = 'blue', lty = 1, cex = 0.3, add = TRUE)

R语言 | 绘制群落物种累积曲线

作图部分到这里就结束了。

下面的内容,主要建立在第二种类型的物种累积曲线的基础上做延伸,有兴趣的话可以继续往下看,对群落研究具有一定的帮助。

如上所述,我们可以根据物种累积曲线拟合回归模型,并据此推断物种数量是否达到了“饱和”。

#BCI 数据集共计 50 个样方
#specslope() 可在给定数量的样方中评估物种积累曲线的导数,用于表征物种数量的增加率
#可知数值越小,表明曲线越趋饱和
sp <- specaccum(BCI, method = 'exact')
specslope(sp, at = 5)
specslope(sp, at = 25)
specslope(sp, at = 45)

R语言 | 绘制群落物种累积曲线

许多物种在样地集中将始终不可见或未被发现,vegan包中提供了相关的评估这些未被观测到的物种的方法。

#poolaccum() 使用一些流行的方法来估计这些未见物种的数量,并将它们添加至观察到的物种丰富度中
#详情 ?poolaccum
pool <- poolaccum(BCI)
summary(pool, display = 'chao')

plot(pool)

R语言 | 绘制群落物种累积曲线

#或者直接通过定量模型表征
#即计算 Chao1、ACE 指数,反映这些未见物种的数量
#详情 ?estimateR
estimateR(BCI)

关于这里的Chao1、ACE指数的概念可参考前文

R语言 | 绘制群落物种累积曲线

生物空间站

生物空间站致力于分享生信技能干货、实用软件教程、科研经验、发布最新科研热点资讯、解读生命科学前沿进展、最新实验技术。温馨提示:添加主编微信,邀请你进生物空间站交流群,获取更多有趣的知识及资料。添加时,请备注一下单位/学校+专业

R语言 | 绘制群落物种累积曲线

转载、合作等事宜请联系BioSpaceStation

生物医学科研方法

专题研究|生防菌的适应性机制

2020-12-30 17:54:59

生物医学科研方法

重磅:7类行为从重处罚,鼓励实名投诉举报!基金委发布科研不端行为调查处理办法

2020-12-30 18:05:25