library(readr)
# Importar Datos
EmojisFood <- read_csv("C:/Users/i5 decima G/OneDrive/Escritorio/Proyecto R/EmojisFood.csv")
## 
## -- Column specification --------------------------------------------------------
## cols(
##   .default = col_double(),
##   name = col_character(),
##   emoji = col_character()
## )
## i Use `spec()` for the full column specifications.
# Datos Normalizados
EmojisNorm <- scale(EmojisFood[,3:35])

# Asignación de Nombres
rownames(EmojisNorm) <- EmojisFood$name

# Calculo de Distancias
EmojisDistancias<- dist(EmojisNorm)

# Agrupamiento Jerárquico
clusters <- hclust(EmojisDistancias)

# Gráfico Dendrograma
library('ggdendro')
dendrograma <- ggdendrogram(clusters,size=2)
dendrograma

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
## # A tibble: 58 x 4
##    name        emoji           id code 
##    <chr>       <chr>        <int> <chr>
##  1 grapes      "\U0001f347"     1 1f95c
##  2 melon       "\U0001f348"     2 1f368
##  3 watermelon  "\U0001f349"     3 1f36c
##  4 tangerine   "\U0001f34a"     4 1f36f
##  5 lemon       "\U0001f34b"     5 1f95d
##  6 banana      "\U0001f34c"     6 1f336
##  7 pineapple   "\U0001f34d"     7 1f35a
##  8 red apple   "\U0001f34e"     8 1f35d
##  9 green apple "\U0001f34f"     9 1f36e
## 10 pear        "\U0001f350"    10 1f34c
## # ... with 48 more rows
library(ggimage)
## Loading required package: ggplot2
dendrograma <- ggdendrogram(clusters)
dendrograma <- dendrograma + geom_emoji(data=labels,aes(id,-1,image=code),size=0.03)
dendrograma <- dendrograma + geom_hline(yintercept=13,color='red')
dendrograma <- dendrograma + annotate("text",label="Corte",x=0,y=14,color="red")
dendrograma