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
