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

Я пытаюсь закодировать только метки листовых узлов на дендограмме. Я нашел этот пост stackoverflow, который ближе всего к тому, что я пытаюсь сделать

Этикетка и цветная дендрограмма листа

Ответ Тала Галили полезен, но что мне нужно делать, если я НЕ хочу, чтобы метки групп были прикреплены к меткам листовых узлов, а просто чтобы метки листовых узлов были окрашены в соответствии с их членством в группе?

Итак, используя код Галили,

sample = data.frame(matrix(floor(abs(rnorm(20000)*100)),ncol=200))
groupCodes <- c(rep("Cont",25), rep("Tre1",25), rep("Tre2",25), 
rep("Tre3",25))

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

rownames(sample) <- make.unique(groupCodes)

Что, если бы они уже были уникальными, например

set.seed(123)
groupLabel <- rnorm(100,0,1)
rownames(sample) <- groupLabel

Как мне сохранить уникальные имена имен в качестве меток узлов и раскрасить их в соответствии с членством в группе (в данном случае это будут «коды группы» в коде Галили)?

какую групповую переменную вы используете для раскрашивания? как это? labels_colors(dend) <- colorCodes[cutree(hc, k = 4)][order.dendrogram(dend)]; plot(dend)

rawr 26.03.2018 21:28

Итак, в этом примере это будет groupCodes, где первые 25 переменных принадлежат группе Cont, следующие 25 принадлежат Tre1, и так далее. В вашем примере цветовое кодирование выполняется на основе членства в ветке, а не на основе предыдущего членства в группе. Итак, в вашем коде переменные 26,3,38,7,56 все синие, тогда как я хочу, чтобы они были окрашены в зависимости от их группы («Cont», «Tre1» и т. д.). Таким образом, 3 и 7 будут иметь свой собственный цвет (группа Cont), 26 и 38 будут иметь свой цвет (группа Tre1), а 56 также будут иметь уникальный цвет (группа Tre2). Надеюсь, это имеет смысл.

Antsushi 26.03.2018 21:48

я так думал, но не понимаю, как исходный код не будет работать - раскраска не зависит от того, уникальны метки или нет

rawr 26.03.2018 22:01

Я думаю, что исходный код зависит от меток, имеющих префикс группы (например, Cont.1, Tre1.12 и т. д.), Чтобы он работал, а уникальные метки генерируются из меток группы. Я хочу избавиться от префикса группы в своих ярлыках, но по-прежнему окрашивать их в зависимости от членства в группе. Поэтому в дендрограмме Галили я ожидал увидеть метки первого листового узла как «9», «11», «16», «15» вместо «Tre3.9», «Tre1.11» и т. д.

Antsushi 26.03.2018 22:15

@Antsushi все, что вам нужно, это пропустить часть: rownames(sample) <- make.unique(groupCodes) из связанного сообщения, и я верю, что вы достигнете желаемого результата.

missuse 27.03.2018 00:03

@missuse, я действительно нашел именно то, что мне нужно, в эта страница. Немного смущает, что я недостаточно искал, прежде чем задать этот вопрос.

Antsushi 27.03.2018 00:47

@Antsushi Я рад, что ты нашел это решение. Я проголосовал за то, чтобы закрыть его для дублирования и ссылку на исходный вопрос здесь, на SO: stackoverflow.com/questions/31117849/…

Tal Galili 27.03.2018 09:52
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
8
54
0

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