Как покрасить метки дендрограммы дополнительным фактором в независимом фрейме данных в R

У меня есть дендограмма из 150 генов, импортированных в R, и у меня есть фрейм данных с такими же метками дендограммы со значениями баллов от 0 до 200, которые не зависят от дендограммы.

Я хотел бы закрасить метки дендограммы значениями из таблицы, используя градиент цветов от синего до красного, например. Я нашел ответы на аналогичные вопросы по следующим ссылкам. Как закрасить метки дендрограммы дополнительной факторной переменной в R & Как закрасить метки дендрограммы в соответствии с определенными группами? (в R)

Но я не смог понять, как преобразовать примеры кода для моего кода, потому что:

1) ни один из них не соответствует дендограмме с внешним значением, связанным метками, и
2) Я хотел бы назначить цвет в зависимости от оценки, а не случайный цвет.

Вот пример данных моего кода

library(ape)
library(dendextend)

# Load tree
MyTree <- read.tree("species_tree.ph")

((енот:19.19959, медведь:6.80041):0.84600,((морской лев:11.99700, тюлень:12.00300):7.52973,((обезьяна:100.85930, кошка:47.14069):20.59201, ласка:18.87953):2.09460):3.87382, собака:25,46154);

MyTree$root.edge <- 0                                       # Root the tree
MyTree=root(MyTree,"monkey",resolve.root = TRUE)
utree <- chronos(MyTree, lambda = 0, model = "correlated")  # Convert to ultrametric
dend=as.dendrogram(utree)                                   # Make dendogram
plot(dend)

# Load data of scores
scores <- read.csv("Scores_species.csv", header = TRUE, sep ="\t")

    Species Score
1  raccoon    97
2     bear    78
3 sea_lion    46
4     seal    14
5   monkey    57
6      cat    89
7   weasel    88
8      dog    97

dend2 <- color_labels(dend, k=8, groupLabels = scores )     # Add colors to labels 

(здесь я хотел бы иметь градиент цветов в зависимости от оценки) Этот график был сгенерирован с помощью другого инструмента, но это то, что я ожидаю сгенерировать с помощью некоторого инструмента градиентов цвета в R

0 ответов

Другие вопросы по тегам