library("ggplot2")
head(mpg)
## Warning: `...` is not empty.
## 
## We detected these problematic arguments:
## * `needs_dots`
## 
## These dots only exist to allow future extensions and should be empty.
## Did you misspecify an argument?
## # A tibble: 6 x 11
##   manufacturer model displ  year   cyl trans      drv     cty   hwy fl    class 
##   <chr>        <chr> <dbl> <int> <int> <chr>      <chr> <int> <int> <chr> <chr> 
## 1 audi         a4      1.8  1999     4 auto(l5)   f        18    29 p     compa~
## 2 audi         a4      1.8  1999     4 manual(m5) f        21    29 p     compa~
## 3 audi         a4      2    2008     4 manual(m6) f        20    31 p     compa~
## 4 audi         a4      2    2008     4 auto(av)   f        21    30 p     compa~
## 5 audi         a4      2.8  1999     6 auto(l5)   f        16    26 p     compa~
## 6 audi         a4      2.8  1999     6 manual(m5) f        18    26 p     compa~
summary(mpg)
##  manufacturer          model               displ            year     
##  Length:234         Length:234         Min.   :1.600   Min.   :1999  
##  Class :character   Class :character   1st Qu.:2.400   1st Qu.:1999  
##  Mode  :character   Mode  :character   Median :3.300   Median :2004  
##                                        Mean   :3.472   Mean   :2004  
##                                        3rd Qu.:4.600   3rd Qu.:2008  
##                                        Max.   :7.000   Max.   :2008  
##       cyl           trans               drv                 cty       
##  Min.   :4.000   Length:234         Length:234         Min.   : 9.00  
##  1st Qu.:4.000   Class :character   Class :character   1st Qu.:14.00  
##  Median :6.000   Mode  :character   Mode  :character   Median :17.00  
##  Mean   :5.889                                         Mean   :16.86  
##  3rd Qu.:8.000                                         3rd Qu.:19.00  
##  Max.   :8.000                                         Max.   :35.00  
##       hwy             fl               class          
##  Min.   :12.00   Length:234         Length:234        
##  1st Qu.:18.00   Class :character   Class :character  
##  Median :24.00   Mode  :character   Mode  :character  
##  Mean   :23.44                                        
##  3rd Qu.:27.00                                        
##  Max.   :44.00
mpg1999<-subset(mpg,class=="suv" & year==1999)

#Normalizar columnas numericas
mpg1999N<-scale(mpg1999[,c(3,5,8,9)])

#nombrar filas

rownames(mpg1999N)<-mpg1999$model

#Calcular distancias
mpg1999D<-dist(mpg1999N)

#convertir de wide a long
library(reshape2)
## Warning: package 'reshape2' was built under R version 4.0.5
mpg1999Dlong<-melt(data.matrix(mpg1999D))


#realizamos el grafico

grafico <- ggplot(mpg1999Dlong, aes(Var1,Var2,fill=value))
grafico <- grafico + geom_tile()
grafico <- grafico + scale_fill_viridis_c()
#grafico <- grafico + scale_fill_distiller(palette = "Oranges")
grafico <- grafico + theme(axis.text.x = element_text(angle=90))
grafico

Ahora hacemos el endograma:

library(ggdendro)
## Warning: package 'ggdendro' was built under R version 4.0.5
mpg1999clusters<-hclust(mpg1999D)
grafico<- ggdendrogram(mpg1999clusters,size=2)
grafico