欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

用R语言探究物种分化历程:通过生态学演变树研究分类单位数量与时间关联,并实现分支图视觉呈现 | 配套代码与数据提供

最编程 2024-02-17 20:33:06
...

全文链接:http://tecdat.cn/?p=31434

最近我们被客户要求撰写关于生态学进化树的研究报告,包括一些图形和统计输出。

我们围绕进化树技术进行一些咨询,分析生物类群在时间上的多样性是如何变化的

我们将用到分类单元数-时间图(Lineages-through-time plot),该图可以用来描述物种多样化的总体趋势。

数据

3500trees.nexus是nexus格式的文件,里面有3500棵树。

图片

besttree.nexus也是nexus格式的文件,里面有1颗树,是从3500颗树中筛选出来的一致树。

各支系图示

图片

这棵树总共有4大支系(Lineage),现在我需要做的分析都是需要分别做总的,以及4个支系的,也就是说同样的分析要做5次,针对5组不同的对象。

分析方法

方法主要是物种多样化速率(diversification rate) 相关的内容。

trees=read.nexus("3500trees.nexus")  
besttree=read.nexus("besttree.nexus")

图片


点击标题查阅往期内容

图片

生态学建模:增强回归树(BRT)预测短鳍鳗生存分布和影响因素

图片

左右滑动查看更多

图片

01

图片

02

图片

03

图片

04

图片

1.mltt plot (multiple lineage through time)

分类单元数-时间图

lingeage的数值取log的,95%置信区间的ltt plot,中间黑色线的是besttree的,要显示出来。分别做总的,以及4个支系的,共5个图。

plot(trees)

图片

,log='y')

图片

besttree

图片

# 95% ltt置信区间

ltt.ci<-function(tree.all){  
  ntip=length(tree.all[[1]]$tip.label)  
  ntree=length(tree.all)

图片

2.gamma statistic

检验分化速率的变化趋势,看γ的值是正的还是负的。结果需要得到每组的γ值及P值。

mmaStat(besttree)

## [1] -3.693285

3. Monte Carlo constant rates test

检验样品不全是否对分化速率的结果有显著的影响,应该也是每组都要做的。

mc.out <- mcmc.pop
line(tree.hiv)  
plot(sk, l

图片

4.对每个组做几个模型的检验,主要包括Pure-birth, birth-death, Yule 2-rate,density-dependent logistic,density-dependent exponential模型。

tdAICr
## --------------Model Summary----------------  
##  
## MODEL pureBirth  
##  
## Parameters:  r1  
##  
## LH 535.1086  
##  
## AIC -1068.217  
##  
## r1 0.1817879  
##  
## a -1068.217  
##  
##  
## --------------------------  
## MODEL bd  
##  
## Parameters:  r1, a  
##  
## LH 535.1086  
##  
## AIC -1066.217  
##  
## r1 0.1817879  
##  
## a 0  
##  
##  
## --------------------------  
## MODEL DDL  
##  
## Parameters:  r1, k  
##  
## LH 542.2213  
##  
## AIC -1080.443  
##  
## r1 0.2537928  
##  
## a -1080.443  
##  
## k 554  
##  
##  
## --------------------------  
## MODEL DDX  
##  
## Parameters:  r1, X  
##  
## LH 536.991  
##  
## AIC -1069.982  
##  
## r1 0.3098342  
##  
## a -1069.982  
##  
## x 0.1131752  
##  
##  
## --------------------------  
##  
## Best Constant Rate Model = pureBirth  AIC  -1068.217  
##  
## Best Rate Variable Model = DDL  AIC  -1080.443  
##  
## delta AICrc =  12.2254

##       model params np mtype       LH        r1 r2         a        xp   k  
## 1 pureBirth     r1  1    RC 535.1086 0.1817879 NA -1068.217        NA  NA  
## 2        bd  r1, a  2    RC 535.1086 0.1817879 NA     0.000        NA  NA  
## 3       DDL  r1, k  2    RV 542.2213 0.2537928 NA -1080.443        NA 554  
## 4       DDX  r1, X  2    RV 536.9910 0.3098342 NA -1069.982 0.113175


图片

点击文末 “阅读原文”

获取全文完整代码数据资料。

本文选自《R语言生态学:进化树推断物种分化历史:分类单元数与时间关系、支系图可视化》。

点击标题查阅往期内容

Python决策树、随机森林、朴素贝叶斯、KNN(K-最近邻居)分类分析银行拉新活动挖掘潜在贷款客户
R语言逻辑回归(Logistic Regression)、回归决策树、随机森林信用卡违约分析信贷数据集R语言基于Bagging分类的逻辑回归(Logistic Regression)、决策树、森林分析心脏病患者
R语言样条曲线、决策树、Adaboost、梯度提升(GBM)算法进行回归、分类和动态可视化
R语言用主成分PCA、 逻辑回归、决策树、随机森林分析心脏病数据并高维可视化
matlab使用分位数随机森林(QRF)回归树检测异常值
R语言用逻辑回归、决策树和随机森林对信贷数据集进行分类预测
R语言中使用线性模型、回归决策树自动组合特征因子水平
R语言中自编基尼系数的CART回归决策树的实现
Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析
R语言基于树的方法:决策树,随机森林,Bagging,增强树
R语言实现偏最小二乘回归法 partial least squares (PLS)回归
R语言多项式回归拟合非线性关系
R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险
R语言用局部加权回归(Lowess)对logistic逻辑回归诊断和残差分析
R语言混合效应逻辑回归(mixed effects logistic)模型分析肺癌数据