前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >zetadiv: 计算zeta多样性

zetadiv: 计算zeta多样性

作者头像
Listenlii-生物信息知识分享
发布2020-08-05 01:23:09
8190
发布2020-08-05 01:23:09
举报

通过R包zetadiv可以方便的计算zeta多样性,及其距离衰减规律。

代码语言:javascript
复制
#安装
install.packages("Zetadiv")
library(zetadiv)
?Zeta.decline.mc


#Zeta.decline.mc: 蒙特卡罗抽样方法计算zeta多样性随阶数的下降
Zeta.decline.mc(
  data.spec,  ##行为样本,列为物种。发生率数据
  xy = NULL,  ##样本坐标
  orders = 1:10, ##zeta的阶数,即计算的样点量
  sam = 1000,  ##对于每个群落或样点计算的样本数
  confint.level = 0.95, ##回归的置信区间
  rescale = FALSE, ##是否除以z1进行标准化
  normalize = FALSE,  ##Sorensen或Jaccard标准化
  empty.row = "empty", ##空值的处理
  plot = TRUE  ##是否画图
)

##例子
utils::data(bird.spec.coarse)
xy.bird <- bird.spec.coarse[,1:2]
data.spec.bird <- bird.spec.coarse[,3:193]

dev.new(width = 12, height = 4)
zeta.bird <- Zeta.decline.mc(data.spec.bird, xy.bird, orders = 1:5, sam = 100,
                             NON = TRUE)
zeta.bird

#结果
$zeta.order  #阶数
[1] 1 2 3 4 5

$combinations  ##样本各种可能的组合情况
[1]       123      7503    302621   9078630 216071394

$zeta.val ##不同阶数的zeta多样性
[1] 92.44715 85.67000 77.11000 73.61000 71.66000

$zeta.val.sd ####不同阶数的zeta多样性的标准偏差
[1] 19.69822 16.76218 15.59778 15.26857 14.43846

$ratio ##每一阶zata和前一阶的比率
[1] 0.9266916 0.9000817 0.9546103 0.9735090

$zeta.exp  ##拟合指数分布

Call:
stats::lm(formula = zeta.val.log ~ c(orders), na.action = stats::na.omit)

Coefficients:
(Intercept)    c(orders)  
    1.98775     -0.02871  


$zeta.exp.confint
                  2.5 %      97.5 %
(Intercept)  1.94815483  2.02733909
c(orders)   -0.04065002 -0.01677507

$zeta.pl ##拟合幂律分布

Call:
stats::lm(formula = zeta.val.log ~ log10(c(orders)), na.action = stats::na.omit)

Coefficients:
     (Intercept)  log10(c(orders))  
          1.9709           -0.1667  


$zeta.pl.confint
                      2.5 %    97.5 %
(Intercept)       1.9479434  1.993877
log10(c(orders)) -0.2141466 -0.119162

$aic  ##两种分布的AIC值。结果表明幂律分布拟合的更好一些。
              df       AIC
zeta$zeta.exp  3 -26.70904
zeta$zeta.pl   3 -30.35525


#zeta.ddecay,计算zeta的距离衰减
Zeta.ddecay(
  xy,  ##行为样本,列为坐标。
  data.spec, ##行为样本,列为物种。
  order = 2, ##阶数
  sam = 1000, ##计算的样本数
  distance.type = "Euclidean", ##距离计算方法
  method = "mean", #3个地点以上时如何计算距离,可选mean或max
  reg.type = "glm" #回归模型
)
#例子
utils::data(Marion.species)
xy.marion <- Marion.species[,1:2]
data.spec.marion <- Marion.species[,3:33]

dev.new()
zeta.ddecay.marion <- Zeta.ddecay(xy.marion, data.spec.marion, sam = 100, order = 3,
                                  method.glm = "glm.fit2", confint.level = 0.95, trsf = "log", normalize = "Jaccard")

此外该包还有一下功能: zeta.varpart 通过距离和环境变量对zeta多样性进行分解。结果包含a(仅由距离来解释的变化),b(由距离或环境来解释的变化),c(仅由环境来解释的变化)和d(无法解释的变化)。

Predict.msgdm 对于新的环境和距离数据,预测其zeta值。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-08-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Listenlii 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档