Primer contacto con el paquete ggplot2 para la visualización de la librería mtcars. Con el paquete ggplot2 se usan diferentes elementos para obtener el gráfico. El primer elemento necesario para el paquete ggplot es el data.

library(ggplot2)
## Registered S3 methods overwritten by 'ggplot2':
##   method         from 
##   [.quosures     rlang
##   c.quosures     rlang
##   print.quosures rlang
ggplot(mtcars)

Sin embargo, es necesario añadir el elemento de aesthetics, donde pondremos las variables que queremos dibujar. En este caso, tomaremos las variables mpg y hp.

ggplot(mtcars, aes(x=mpg, y=hp))

Ya tenemos las variables enfrentadas y listas para graficarlas, ahora necesitamos añadir una tercer elemento indicando el tipo de gráfica que queremos. A este elemento se le conoce como la capa de geometrías.

pl <- ggplot(mtcars, aes(x=mpg, y=hp)) + geom_point()
pl

Esta es la sintaxis básica para obtener una gráfica con el paquete ggplot2. Como se puede observar, podemos guardar esta sintaxis como una variable (la cual es una lista). A continuación veremos otros elementos para modificar una gráfica:

pl + facet_grid(cyl ~.)

Las facetas nos sirven para obtener varias gráficas comparando una variable. En este ejemplo, comparamos la variable mpg vs hp en función del número de cilindradas que tienen los coches. Se puede obtener de manera vertical simplemente cambiando el orden dentro de la variable facet_grid()

pl + facet_grid(.~cyl)

Podemos añadir variables estadísticas como el modelo lineal en la gráfica mediante el stat_smooth()

pl2 <- pl + facet_grid(cyl~.) + stat_smooth()
pl2
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'

Para modificar el límite de los ejes usamos el coord_cartesian()

pl2 + coord_cartesian(xlim=c(15,25))
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'

R permite modificar el tema con el que visualizar las gráficas, aunque es desaconsejable para gente novata, por lo que simplemente nos limitaremos a ver el cambio qué genera uno de los paquetes por defecto.

pl2 + ggtitle("Gráfico de prueba con ggplot2") + labs(x="Kilómetros por litro", y="Caballos") + theme_bw()
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'