Je souhaite visualiser à quel point est un algorithme de clustering (avec certaines métriques de distance). J'ai des échantillons et leurs classes correspondantes. Pour visualiser, je regroupe et je souhaite colorier les branches d'un dendrogramme par les éléments du cluster. La couleur sera la couleur les plus éléments dans le cluster hiérarchique correspondent à (données par les données \ classes). Exemple: Si mon algorithme de clustering a choisi les index 1,21,24 pour être un certain cluster (à un certain niveau) et que j'ai un fichier csv contenant un numéro de classe dans chaque ligne correspondant à disons 1,2,1 . Je veux que ce bord à colorer 1.Comment colorier des branches dans R dendogram par l'une fonction des classes qu'il contient?
Exemple de code:
require(cluster)
suppressPackageStartupMessages(library(dendextend))
dir <- 'distance_metrics/'
filename <- 'aligned.csv'
my.data <- read.csv(paste(dir, filename, sep=""), header = T, row.names = 1)
my.dist <- as.dist(my.data)
real.clusters <-read.csv("clusters", header = T, row.names = 1)
clustered <- diana(my.dist)
# dend <- colour_branches(???dend, max(real.clusters)???)
plot(dend)
EDIT: un autre exemple code partiel
dir <- 'distance_metrics/' # csv in here contains a symmetric matrix
clust.dir <- "clusters/" #csv in here contains a column vector with classes
my.data <- read.csv(paste(dir, filename, sep=""), header = T, row.names = 1)
filename <- 'table.csv'
my.dist <- as.dist(my.data)
real.clusters <-read.csv(paste(clust.dir, filename, sep=""), header = T, row.names = 1)
clustered <- diana(my.dist)
dnd <- as.dendrogram(clustered)
Je vois déjà que je créé une façon de le faire en utilisant 'color_branches'. S'il vous plaît voir ma réponse. –