【问题标题】:How can analyse a trait where I have data for multiple individuals at each tip of my phylogenetic tree?如何分析我在系统发育树的每个尖端都有多个个体的数据的特征?
【发布时间】:2018-05-12 10:03:22
【问题描述】:

我是系统发育分析的新手,我正在使用ape 库来分析来自 28 个不同物种的 34 种灵长类动物的神经解剖学特征。我使用 10ktrees 来获得共识系统发育树(有 28 个提示)。但是,我不能将表型和树结合起来,因为观察的数量与提示的数量不匹配。我应该使用多分法将提示分成多个主题吗?

这是我目前的代码:

tree <- read.nexus("10ktree.nex")
pheno <- read.csv("pheno.csv")
BrainVolume <- pheno$BrainVolume
names(BrainVolume) <- pheno$GenBank.Name
pic.BrainVolume <- pic(BrainVolume, tree)

我收到以下错误:

Error in pic(BrainVolume, tree) : 
  length of phenotypic and of phylogenetic data do not match

感谢您的帮助!

【问题讨论】:

  • Emmanuel Paradis 的书“Analysis of phylogenetics and evolution with R”第 2 版(2012 年)第 6.1.10 章“种内变异”提供了关于该问题的确切信息。
  • 大多数种间分析中的标准协议是平均每个物种的值,因此每个点代表所有给定标本的平均值,以避免过度代表可能已经被更多采样的物种.

标签: r phylogeny ape-phylo


【解决方案1】:

正如我在评论中所说,Emmanuel Paradis 的“用 R 分析系统发育和进化”一书的第 2 版(2012 年)第 6.1.10 章“种内变异”有关于该问题的信息。本章讨论了几种方法。这是一种基于 Felsenstein (2008) 的方法,将每个物种的单个个体系统发育对比方法扩展到多个个体。

每个物种调用 pic 的单个个体是 pic.BrainVolume &lt;- pic(BrainVolume, tree),其中 BrainVolume 是一个向量。对于多个体方法,BrainVolume 必须是一个列表,其中一些条目可以有一个向量,表示同一物种的多个个体的值。我使用

创建了原始pheno 文件的“分组”版本
grouped<-split(pheno,pheno$GenBank.Name)

接下来,lapply 列出BrainVolume 表型:

BrainVolume<-lapply(grouped,"[[","BrainVolume")

最后,使用实现 Felsenstein 方法的 pic.ortho 函数:

pic.SA<-pic.ortho(SA,tree,intra=TRUE)

生成的对比可以与原始 pic 命令一样使用。

参考

Felsenstein J(2008 年)“具有抽样误差和种内变异的比较方法:重新审视和修订对比”美国博物学家 171:713--725

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-02
    • 1970-01-01
    • 2014-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多