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