У меня есть филогенетическое дерево в формате .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))
Что я получаю: дерево с неверной меткой
Что бы я хотел получить: правильно помеченное дерево
dput
может помочь, но может оказаться бесполезной для.tre
данных; Я раньше не работал с этими данными - person Jonny Phelps   schedule 02.11.2018