首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用R中的cophyloplot绘制尽可能多水平链接的镜像树

使用R中的cophyloplot绘制尽可能多水平链接的镜像树
EN

Stack Overflow用户
提问于 2015-07-09 01:43:22
回答 1查看 842关注 0票数 3

我正在使用cophyloplotape包在R中,使两个系统发生树面对面地与链接(树根植于顶端1)。

代码语言:javascript
运行
复制
library(ape)
set.seed(1)
tree1 <-read.nexus("tree1.nex", tree.names = NULL)
tree2 <-read.nexus("tree2.nex", tree.names = NULL)
tree1$tip.label<-(1:28)
tree2$tip.label<-(1:28)
a <- c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28)
b <- c(1,15,3,4,6,5,23,26,28,27,16,14,22,18,19,10,9,8,7,11,25,24,2,21,12,13,17,20) 
association <- cbind(a, b)
cophyloplot(tree1, tree2, assoc = association, length.line = 4, space = 30, gap = 3,col="red", show.tip.label=FALSE) 

但是,如果我旋转一些节点,就可以操纵一棵树,使更多的链接出现在水平/直线上(也就是说,树的镜像更多)。

是否有一种方法可以用链接自动绘制树,使它们在默认情况下是彼此最佳的匹配/镜像?也就是说,让尽可能多的链接是横向的?

编辑:是否也有一个统计指标来衡量树木有多相似?或者这是dist.topo(tree1, tree2, method = "PH85")给的?

EN

回答 1

Stack Overflow用户

发布于 2021-06-22 10:03:06

“最佳匹配”可以直接用R软件包显示。

使用cophylo()函数(wich与ape的cophyloplot()相同)并将旋转设置为TRUE。

代码语言:javascript
运行
复制
obj <- cophylo(tree1, tree2, assoc = association, rotate = T)
plot(obj)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31306735

复制
相关文章

相似问题

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