首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用plotBranchbyTrait绘制系统发育图时,表示性状值的颜色强度与我的数据中的值不一致。

使用plotBranchbyTrait绘制系统发育图时,表示性状值的颜色强度与我的数据中的值不一致。
EN

Stack Overflow用户
提问于 2022-04-05 20:03:21
回答 1查看 58关注 0票数 0

我试图绘制一棵系统发育树,并使枝条的颜色与该物种的连续特性相对应。我使用R中的phytools软件包中的函数plotBranchbyTrait来做这件事,但是指示每个物种的性状程度(在我的情况下,食物中沉淀物的数量)的颜色强度并不都与我的数据一致。plotBranchbyTrait实际上是用性状的值来表示颜色,还是用特征值的反比来表示颜色,因为绘制的颜色强度似乎表明了这一点。如果有任何其他建议,我们将不胜感激。

下面是我的代码示例:

birdtree <- read.nexus("output.nex") # my pruned phylogeny tree downloaded from BirdTree.org

rootedtree <- maxCladeCred(birdtree,tree = TRUE, rooted = TRUE) # here you root the tree

diet_averages <- read.csv("species diet averages.csv",header=TRUE, na.strings=c("", "n/a")) # my data showing percent of seed in diet

str(diet_averages)

data.frame': 123 obs. of 2 variables:

$ binomial: chr "Accipiter_cooperii" "Accipiter_gentilis" "Accipiter_melanoleucus" "Acridotheres_tristis" ...

$ seeds : num 0 0 0 17.6 0 0 0 38.4 0 0 ...

plotBranchbyTrait(rootedtree, mydata$seeds, palette = "rainbow")

EN

回答 1

Stack Overflow用户

发布于 2022-09-01 23:21:58

我也有同样的问题。“plotBranchbyTrait”有一个有问题的映射例程,它在映射所有边缘和提示时将节点和边缘混合在一起。

这是一个解决办法,它忽略了边缘数据(用‘plotBranchbyTrait’创建新的边缘值):

代码语言:javascript
复制
MapData<-mydata$seeds
MapData<-MapData[1:length(rootedtree$tip.label)] # assuming that the rows 1:x correspond to the taxa in the tree
names(MapData)<-rootedtree$tip.label
plotBranchbyTrait(rootedtree, MapData, palette = "rainbow", mode="tips")

经过大量的研究,我也找到了问题的根源。在映射完整的数据集(包括边缘数据)时,“plotBranchbyTrait”根据"rootedtree$ edge“在内部重新排序输入向量。您可以搜索该树,以确定从您的关系树派生的每个物种列表I的相应节点/提示:

代码语言:javascript
复制
PhyloNode[i]<-findMRCA(rootedtree, tips=Specieslist[i], type="node")

并导出矩阵rootedtree$edge中的哪一行将此节点/提示作为后代:

代码语言:javascript
复制
EdgeRow[i]<-which(rootedtree$edge[,2]==PhyloNode[i])

请注意,需要从这个引用表中排除i=1,因为在phylo树中不存在Nexus根。一旦确定了每个节点的边缘,就可以重新排序数据。

代码语言:javascript
复制
MapData<-mydata$seeds
names(MapData)<-EdgeRow
MapData<-MapData[order(ParentRow)]
plotBranchbyTrait(rootedtree, MapData, palette = "rainbow", mode="edges")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71757763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档