Esthétique du dendrogramme
Vous avez créé un dendrogramme… mais il n’attire pas autant l’œil que prévu !
Le package dendextend peut aider votre public en colorant les branches et en délimitant les clusters. dendextend est conçu pour fonctionner sur des objets dendrogrammes ; vous devrez donc convertir le clustering hiérarchique hclust avec as.dendrogram().
Une bonne façon de passer en revue les termes de votre dendrogramme est d’utiliser la fonction labels(). Elle affiche tous les termes du dendrogramme. Pour mettre en évidence des branches spécifiques, utilisez branches_attr_by_labels(). Passez d’abord l’objet dendrogramme, puis un vecteur de termes, comme c("data", "camp"). Enfin, ajoutez une couleur telle que "blue".
Après avoir produit votre graphique, vous pouvez faire ressortir les clusters avec rect.dendrogram(). Cela ajoute un rectangle pour chaque cluster. Le premier argument de rect.dendrogram() est le dendrogramme, suivi du nombre de clusters (k). Vous pouvez aussi fournir un argument border pour préciser la couleur des rectangles (par exemple "green").
Cet exercice fait partie du cours
Text mining avec sac de mots en R
Instructions
Le package dendextend a été chargé pour vous, et un objet de clustering hiérarchique, hc, a été créé à partir de tweets_dist.
- Créez
hcdcomme dendrogramme en utilisantas.dendrogram()surhc. - Affichez les
labelsdehcddans la console. - Utilisez
branches_attr_by_labels()pour colorer les branches. Passez-lui trois arguments : l’objethcd,c("marvin", "gaye"), et la couleur"red". Assignez le résultat àhcd_colored. plot()le dendrogrammehcd_coloredavec le titre"Better Dendrogram", ajouté via l’argumentmain.- Ajoutez des rectangles au graphique avec
rect.dendrogram(). Indiquezk = 2clusters et une couleur deborderégale à"grey50".
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Create hcd
___ <- ___(___)
# Print the labels in hcd
___(___)
# Change the branch color to red for "marvin" and "gaye"
___ <- ___(___, ___, ___)
# Plot hcd_colored
___(___, ___)
# Add cluster rectangles
___(___, ___, ___)