Dendograma de Alimentos
#Importar datos
library(readr)
EmojisFood <- read_csv("EmojisFood.csv")
##
## -- Column specification --------------------------------------------------------
## cols(
## .default = col_double(),
## name = col_character(),
## emoji = col_character()
## )
## i Use `spec()` for the full column specifications.
#EmojisFood
#Normalizado
Emoji_Norm <- scale(EmojisFood[,3:35])
#Emoji_Norm
#Asignación de nombres
rownames(Emoji_Norm) <- EmojisFood$name
#Calculo distancias
Emoji_Distancias <- dist(Emoji_Norm[,])
#Emoji_Distancias
#Agrupamiento jerarquico
Clusters <- hclust(Emoji_Distancias)
#Clusters
#install.packages("ggdendro")
library("ggdendro")
Dendograma <- ggdendrogram(Clusters)
Dendograma

Los emojis en el dendograma
#install.packages("stringi")
library(stringi)
labels <- EmojisFood[,c(1,2)]
# function para adicionar datos de labels
trimEmojiCode <- function (df,order){
for(i in 1:nrow(df)){
index <- order[i]
df[index,3] <- order[i]
tmp <- strsplit(stringi::stri_escape_unicode(df[index,2]),"\\\\U000")
df[i,4] <- tmp[[1]][2]
}
colnames(df)<- c('name','emoji','id','code')
return (df)
}
labels <- trimEmojiCode(EmojisFood[,c(1, 2)], Clusters$order)
#labels
#install.packages("ggimage")
#install.packages("ggplot2")
#install.packages("httr")
library("httr")
library("ggplot2")
library("ggimage")
Dendograma <- ggdendrogram(Clusters, size=1.5)
Dendograma <- Dendograma + geom_emoji(data=labels, aes(id, -1, image=code), size=0.02)
Dendograma <- Dendograma + geom_hline(yintercept = 13, color="red")
Dendograma <- Dendograma + annotate("text", label="corte", x=0, y=14, color="red")
Dendograma
