library('ggplot2')
## Warning: package 'ggplot2' was built under R version 4.0.5
head(mpg)
## # 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~
# subset por año
mpg1999 <- subset(mpg,mpg$year == 1999 & mpg$class=='suv')
# seleccionar casos con datos en todas las columnas
mpg1999 <- mpg1999[complete.cases(mpg1999),]
# Normalizar columnas numericas
mpg1999N <- scale(mpg1999[,c(3,5,8,9)])
# # crear columna con secuencia de números
# mpg1999N$ID <- seq(1,nrow(mpg1999N))
# # pegar la marca al numero de sequencia creado
# mpg1999N$ID <- do.call(paste0,mpg1999N[c(1,12)])
# renombrar las filas
rownames(mpg1999N) <- mpg1999$model
head(mpg1999,3)
## # A tibble: 3 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 chevrolet c1500 sub~ 5.7 1999 8 auto(~ r 13 17 r suv
## 2 chevrolet k1500 tah~ 5.7 1999 8 auto(~ 4 11 15 r suv
## 3 chevrolet k1500 tah~ 6.5 1999 8 auto(~ 4 14 17 d suv
# distancias
mpg1999D <- dist(mpg1999N)
library(reshape2)
## Warning: package 'reshape2' was built under R version 4.0.5
# convierte el formato del dataframe de wide a long
mpg1999DLong <- melt(data.matrix(mpg1999D))
head(mpg1999DLong)
## Var1 Var2 value
## 1 c1500 suburban 2wd c1500 suburban 2wd 0.0000000
## 2 k1500 tahoe 4wd c1500 suburban 2wd 1.2618025
## 3 k1500 tahoe 4wd c1500 suburban 2wd 0.8746882
## 4 durango 4wd c1500 suburban 2wd 2.1508185
## 5 durango 4wd c1500 suburban 2wd 1.1323440
## 6 durango 4wd c1500 suburban 2wd 1.2751250
grafico <- ggplot(mpg1999DLong, aes(Var1, Var2, fill=value))
grafico <- grafico + geom_tile()
grafico <- grafico + scale_fill_viridis_c(option = 'magma')
# grafico <- grafico + scale_fill_distiller(palette = "Oranges")
grafico <- grafico + theme(axis.text.x = element_text(angle = 90))
grafico

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