library(ggplot2)
str(mpg)
## tibble [234 x 11] (S3: tbl_df/tbl/data.frame)
##  $ manufacturer: chr [1:234] "audi" "audi" "audi" "audi" ...
##  $ model       : chr [1:234] "a4" "a4" "a4" "a4" ...
##  $ displ       : num [1:234] 1.8 1.8 2 2 2.8 2.8 3.1 1.8 1.8 2 ...
##  $ year        : int [1:234] 1999 1999 2008 2008 1999 1999 2008 1999 1999 2008 ...
##  $ cyl         : int [1:234] 4 4 4 4 6 6 6 4 4 4 ...
##  $ trans       : chr [1:234] "auto(l5)" "manual(m5)" "manual(m6)" "auto(av)" ...
##  $ drv         : chr [1:234] "f" "f" "f" "f" ...
##  $ cty         : int [1:234] 18 21 20 21 16 18 18 18 16 20 ...
##  $ hwy         : int [1:234] 29 29 31 30 26 26 27 26 25 28 ...
##  $ fl          : chr [1:234] "p" "p" "p" "p" ...
##  $ class       : chr [1:234] "compact" "compact" "compact" "compact" ...

GRAFICO DE DISPERSION

#plot(mpg)
Grafica <- ggplot(mpg, aes(cty, hwy, color=class, size=displ)) + geom_point() + scale_color_brewer(palette = "Set1")
Grafica

MATRIZ DE DISTANCIAS

v2008 <- subset(mpg, mpg$year ==2008)
v2008N <- v2008
v2008N[,c(3,5,8,9)]<- scale(v2008[,c(3,5,8,9)])

matrizDistancias <- dist(v2008N)
#head(data.matrix(matrizDistancias))

#Convertir de Wide a LONG
library(reshape2)
matrizlong <- melt(data.matrix(matrizDistancias))
head(matrizlong)
##   Var1 Var2     value
## 1    1    1 0.0000000
## 2    2    1 0.4450240
## 3    3    1 2.5171979
## 4    4    1 0.7609059
## 5    5    1 1.0784291
## 6    6    1 2.8794930

MAPA DE CALOR

grafica <- ggplot(matrizlong, aes(as.factor(Var1), as.factor(Var2), fill=value))
grafica <- grafica + geom_tile () + scale_fill_viridis_c(option = "magma")
grafica

DENDROGRAMA

#Hace el agrupamiento jerarquico
hc2008 <- hclust(matrizDistancias)

#construye la grafica, si no tiene la libreria instalada instale "ggdendro"
library (ggdendro)
grafica <- ggdendrogram (hc2008, rotate=TRUE, size=2)
grafica