我有一个.tre
格式和随附数据集的系统发育树。树的确切形式无关紧要,它只是一个随机的系统发育树。数据集有两列:名称和颜色。
在绘制这样的树时,我很可能会从随附的数据集中向树中添加彩色点(两种不同的颜色)。问题是当我使用以下代码时:
ggtree(RANDOMTREE) + geom_tippoint(pch=16, col=RANDOMDATA$color) + geom_tiplab(offset=0.1)
当然,它会为点着色,但颜色具有它们在随附数据集中的顺序。
但是我想将基于树中物种名称的颜色与数据集中的颜色进行匹配(它们的格式相同,但顺序不同)。我还没有弄清楚。你能帮我解决这个问题吗?
非常感谢。
示例代码:
source("https://bioconductor.org/biocLite.R")
biocLite("ggtree")
library(ggtree)
tree<-read.tree(text="(spec1,((spec2,(spec9,(spec3,spec5))),spec8,(spec6,(spec7,spec4))));")
dataset1<-data.frame("name" = c("spec1","spec2","spec3","spec4","spec5","spec6","spec7","spec8","spec9"), "colour" = c("red","red","blue","red","red","blue","blue","red","blue"))
ggtree(tree) + geom_tiplab() + geom_tippoint(pch=16, col=as.factor(dataset1$colour))
我得到了什么: 错误标记的树
我想得到什么: 正确标记的树