library(readr)
## Registered S3 methods overwritten by 'tibble':
##   method     from  
##   format.tbl pillar
##   print.tbl  pillar
EmojisFood <- read_csv("EmojisFood.csv")
## Parsed with column specification:
## cols(
##   .default = col_double(),
##   name = col_character(),
##   emoji = col_character()
## )
## See spec(...) for full column specifications.
#Escalo las variables numéricas 
emojiNorm<-scale(EmojisFood[,c(3:35)])

#Asignación de nombres
rownames(emojiNorm)<-EmojisFood$name

#Calculo distancias
emojiDistancia<- dist(emojiNorm[,])


#Agrupamiento jerárquico
clusters<-hclust(emojiDistancia)


##para que aparezcan los emojis: 

#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)

#dendrograma
#install.packages('ggimage')
library(ggimage)
## Warning: package 'ggimage' was built under R version 4.0.5
## Loading required package: ggplot2
library(ggdendro)
## Warning: package 'ggdendro' was built under R version 4.0.5
dendrograma <- ggdendrogram(clusters, size=2)
dendrograma <- dendrograma + geom_emoji(data=labels, aes(id,-0.3,image=code),size=0.02)
dendrograma<-dendrograma+geom_hline(yintercept=13,color="red")
dendrograma<-dendrograma+annotate("text",label="corte",x=-1,y=14,color="red")
dendrograma