问题描述
我想绘制一个cophylo对象,但是其中一个分支的值缺失,因此由于这个原因,cophylo无法正确绘制。
如何更改值或绘制没有分支长度的树?
解决方法
我无法重现该示例,并且cophylo()
函数似乎可以很好地处理丢失的数据。
library(phytools)
#> Loading required package: ape
#> Loading required package: maps
set.seed(12345)
tr1<-pbtree(n=22,tip.label=c(1:22))
tr2<-pbtree(n=10,tip.label=c(1:10))
obj<-cophylo(tr1,tr2)
#> Rotating nodes to optimize matching...
#> Done.
plot(obj)
修改
问题在于缺少分支长度。首先,这对我来说似乎很可疑,因为缺少分支长度似乎没有道理。但是,该问题现在可以重现。也许您的NA值实际上是0?
# Now with missing value --> Indeed it doesn't plot
tr1$edge.length[2] <- NA
obj<-cophylo(tr1,tr2)
#> Rotating nodes to optimize matching...
#> Done.
plot(obj)
# Replace NA value with 0? (I am not sure if this makes sense)
tr1$edge.length[2] <- 0
obj<-cophylo(tr1,tr2)
#> Rotating nodes to optimize matching...
#> Done.
plot(obj)
编辑2
问题在于读取Newick文件。特别是,OP在不允许的名称中使用了字符(例如':')。
由reprex package(v0.3.0)于2020-10-26创建