R 语言计算生态位指数

2022-07-06  本文已影响0人  西北工作室

生态位宽度(Bi)采用Colwell等(1971)加权修正的Levins指数

图一

式中,Bi为物种i的生态位宽度值,其范围在[0-1]之间,值越大说明该物种生态位宽度越宽;Pij为物种i在第j资源状态下的个体数占该种所有个体数的比例,r为资源总数。

生态位重叠指数  生态位重叠指数采用Pianka指数(Piankaet al., 1973):

图二

式中,Oik为物种i与物种k的生态位重叠指数,其值越大表示生态位重叠程度越高,取值范围为[0,1];Pij为物种i利用资源状态j的个体数占该种个体总数的比例,r为资源(季节或样点)的总数;Pkj为物种k利用资源状态j的个体数占该种个体总数的比例。R表示生态响应速率。

下面我们进行R语言操作:

library(spaa) ##加载包

df1=read.csv("物种丰度.csv") #读取丰度数据

这里的丰度数据为:行为样本,列为物种;

图三

(1)计算生态位宽度:levins指数

b=as.data.frame(niche.width(df1, method ="levins")) #计算生态位宽度

colnames(b)="levins" #重新命名

由于spaa包中的niche.width()函数是没有/r的,如图一,公式中,因此继续用"levins"/r,(r为样点总个数)

b$levins1=b$levins/nrow(df1)   #计算加权的levins生态位指数,既公式一(图一)的生态位指数

参考文献:

Colwell RK, Futuyma DJ. 1971. On the measurement of Niche Breadth and Overlap. Ecology, 52(4): 567-576.

上一篇下一篇

猜你喜欢

热点阅读