У меня есть дерево с 18 кончиками, которое выглядит так;
library(phytools)
# Create tree
sim.tree<-pbtree(n=18)
plot(sim.tree)
Затем у меня есть фрейм данных с именем подсказки и вектором факторов, которые я хотел бы использовать для окрашивания дерева, например;
df<-data.frame(tip = paste0("t", 1:18),
vector.to.color.with = as.factor(c("<10", "10-20", "10-20", "10-20", "NA", "10-20",
"10-20", "10-20", "20-35", "<10", "10-20", "<10",
"35", "20-35", "<10", "NA", "10-20", "<10")))
Я пробовал использовать tip.color()
и plotBranchbyTrait()
безрезультатно. Я знаю, что это, вероятно, делается все время, и мне не хватает чего-то простого. Любая помощь приветствуется
проверить ?plot.phylo
library(phytools)
# Create tree
df<-data.frame(tip = paste0("t", 1:18),
vector.to.color.with = as.factor(c("<10", "10-20", "10-20", "10-20", "NA", "10-20",
"10-20", "10-20", "20-35", "<10", "10-20", "<10",
"35", "20-35", "<10", "NA", "10-20", "<10")))
set.seed(123)
sim.tree<-pbtree(n=18)
cols <- as.integer(df$vector.to.color.with[match(sim.tree$tip.label,df$tip)])
plot(sim.tree, tip.color = cols)
@ Дастин Ты прав. Забавно, что я проверил другое дерево (без семян), и случайно цвета, которые я проверил, совпали. Теперь это должно работать.
Спасибо @Stefano Barbi! Это сработало и на моих реальных данных!
Еще раз спасибо @Stefano Barbi! Я поднял это на следующий уровень, если это вас интересует. stackoverflow.com/questions/71610843/…
Спасибо @Стефано Барби. Это окрашивает дерево, но не соответствует имени подсказки. Например, t13 — единственный наконечник с коэффициентом «35» и, следовательно, должен быть единственным наконечником с таким цветом. Может быть, я упускаю связь между деревом и вектором? Любая помощь приветствуется.