Forma parte del motor gráfico desarrollado por Paul Murrell en 2001 llamado grid. De entre las funciones de ggplot se encuentran manipulaciones gráficas como: generación de lienzos, trazo de lÃneas, dibujo de puntos, etc.
20 de febrero de 2019
Forma parte del motor gráfico desarrollado por Paul Murrell en 2001 llamado grid. De entre las funciones de ggplot se encuentran manipulaciones gráficas como: generación de lienzos, trazo de lÃneas, dibujo de puntos, etc.
Para el siguiente trabajo se requiere instalar las siguientes librerias:
library(openxlsx) library(ggplot2) library(tidyverse)
y se trabajará con distintas bases de datos, las cuales se seleccionarán de acuerdo a los diversos propósitos y vienen incluidas ya en R.
Comenzaremos con la base de datos iris
## 'data.frame': 150 obs. of 5 variables: ## $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ... ## $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ... ## $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ... ## $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ... ## $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
Para ello se necesita construir una sintáxis, la cual obligatoriamente debe tener los siguientes elementos:
Datos: deben ser del tipo data frame. Se comienza creando un objeto el cual contiene los datos que vamos a utilizar.
p<-ggplot(iris) p
Estéticas (aes): son, por ejemplo, la distancia horizontal o vertical, el color, la forma , el tamaño, etc.
Entre algunas estéticas tenemos:
x e y: distancias horizontal y vertical.
colour: para el color.
size: para el tamaño.
shape: indica la forma de los puntos (cuadrados, triángulos, etc.) o el trazo (continuo, punteado) de las lÃneas.
alpha: para la transparencia, su utilidad se refleja cuando queremos dar peso y/o importancia a ciertos datos.
fill: para el color de relleno de las formas sólidas (barras, etc).
p<-p + aes(x = Petal.Length, y = Petal.Width, colour = Species) p
Objetos geométricos: son los verbos del lenguaje de los gráficos e indican qué hacer con los datos y las estéticas elegidas y cómo representarlos en un lienzo.
p + geom_point()
p + geom_smooth()
Existen un sin número de objetos geométricos sin embargo los más usuales son geom_point, geom_line, geom_histogram, geom_bar y geom_boxplot.
Para consultar otros objetos geométricos se puede dirigir a http://docs.ggplot2.org/current/
La función ggsave guarda en el directorio de trabajo el último gráfico generado con ggplot2, en el formato indicado y con el nombre del fichero que se quiere generar.
ggsave("mi_grafico.png")
Además con la función last_plot se puede obtener la última gráfica creada.
La función facet_grid crea tres gráficos dispuestos horizontalmente que comparan la relación entre la anchura y la longitud del pétalo de las tres especies de iris. Estos gráficos permiten hacer comparaciones.
ggplot(iris, aes(x = Petal.Length, y = Petal.Width)) + geom_point() + geom_smooth() + facet_grid(~ Species)
ggplot(iris, aes(x = Petal.Length, y = Petal.Width)) + geom_point() + geom_smooth() + facet_grid(Species ~.)
Las estéticas se pueden etiquetar con la función labs. Además, se le puede añadir un tÃtulo al gráfico usando la función ggtitle.
p + ggtitle("Longuitud y ancho del pétalo") +
labs(x = "Longuitud del pétalo",
y = "Ancho del pétalo",
colour = "Species")
a<-ggplot(economics,aes(date,unemploy)) b<-ggplot(seals,aes(x=long,y=lat))
a+geom_abline(aes(intercept=0,slope=1))
b+geom_hline(aes(yintercept=lat))
b+geom_vline(aes(xintercept=long))
Dibuja una lÃnea recta entre los puntos (x, y)
b+geom_segment(aes(yend=lat+1,xend=long+1))
str(mpg)
## Classes 'tbl_df', 'tbl' and 'data.frame': 234 obs. of 11 variables: ## $ manufacturer: chr "audi" "audi" "audi" "audi" ... ## $ model : chr "a4" "a4" "a4" "a4" ... ## $ displ : num 1.8 1.8 2 2 2.8 2.8 3.1 1.8 1.8 2 ... ## $ year : int 1999 1999 2008 2008 1999 1999 2008 1999 1999 2008 ... ## $ cyl : int 4 4 4 4 6 6 6 4 4 4 ... ## $ trans : chr "auto(l5)" "manual(m5)" "manual(m6)" "auto(av)" ... ## $ drv : chr "f" "f" "f" "f" ... ## $ cty : int 18 21 20 21 16 18 18 18 16 20 ... ## $ hwy : int 29 29 31 30 26 26 27 26 25 28 ... ## $ fl : chr "p" "p" "p" "p" ... ## $ class : chr "compact" "compact" "compact" "compact" ...
c<-ggplot(mpg,aes(hwy)) c1<-ggplot(mpg)
c+geom_density()
c+geom_histogram()
c1+geom_qq(aes(sample=hwy))
d<-ggplot(mpg,aes(fl))
d+geom_bar()
e<-ggplot(mpg,aes(cty,hwy))
Crea diagramas de dispersión
e+geom_point()
Ajusta una regresión de cuantiles a los datos y dibuja los cuantiles ajustados con lÃneas. Es un análogo continuo de geom_boxplot.
e+geom_quantile()
f<-ggplot(mpg,aes(class,hwy))
Similar a geom_bar
f+geom_col()
f+geom_boxplot()