Este es un archivo Notebook de R Markdown, Cuando ejecutas el código con Run o Ctrl+Shift+Enter, el resultado aparecerá debajo del código
Comienza instalando el paquete ggplot2 y cargando la librerÃa
# install.packages("ggplot2")
library(ggplot2)
Revisa la ayuda de qplot() en http://ggplot2.tidyverse.org/reference/qplot.html
qplot(x, y = NULL, data, facets = NULL, margins = FALSE, geom = "auto", xlim = c(NA, NA), ylim = c(NA, NA), main = NULL, xlab = , ylab = , stat = NULL)
Luego utilizaremos el conjunto de datos mtcars para realizar diversos gráficos de exploración. Ggplot trabaja sobre data.frames, por ello asegurate que los datos sean data.frames.
data(mtcars)
class(mtcars)
## [1] "data.frame"
head(mtcars)
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
Al incluir una columna de un data.frame, por defecto se dibujará un histograma
qplot(mpg, data = mtcars)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
Incluye el argumento bins para indicar el número de clases del histograma
qplot(mpg, data = mtcars, bins=5)
Aunque está indicado por defecto, puedes igual incluir que el tipo de geometrÃa del gráfico a dibujar sea histograma. El resultado será igual al gráfico anterior.
qplot(mpg, data = mtcars, bins=5, geom = "histogram")
Añade lineas verticales para mostrar la media y la mediana.
qplot(mpg, data = mtcars, bins=5, geom = "histogram") +
geom_vline(xintercept = mean(mtcars$mpg), color="red")+
geom_vline(xintercept = median(mtcars$mpg), color="blue")
Clasifica el histograma de acuerdo con una segunda variable.
qplot(mpg, data = mtcars, bins=5, geom = "histogram", fill = as.factor(am))
Convierte el histrograma en un gráfico de densidad.
qplot(mpg, data = mtcars, bins=5, geom = "density", fill = as.factor(am))
## Warning: Ignoring unknown parameters: bins
Cambia el argumento fill por color para hacer los polÃgonos vacios.
qplot(mpg, data = mtcars, bins=5, geom = "density", color = as.factor(am))
## Warning: Ignoring unknown parameters: bins
Cambia el tipo de lÃnea de las densidades.
qplot(mpg, data = mtcars, bins=5, geom = "density", color = as.factor(am), linetype= as.factor(am))
## Warning: Ignoring unknown parameters: bins
Utiliza el argumento facets para dividir ambos poligonos de densidades en gráficos diferentes. Observa el argumento facets en los dos ejemplos. En el primero se graficarán como columnas y en el segundo como filas
qplot(mpg, data = mtcars, bins=5, geom = "density", color = as.factor(am), facets = .~ am)
## Warning: Ignoring unknown parameters: bins
qplot(mpg, data = mtcars, bins=5, geom = "density", color = as.factor(am), facets = am ~.)
## Warning: Ignoring unknown parameters: bins
#### TÃtulo y nombres de ejes
qplot(mpg, data = mtcars, geom = "density",
xlab = "galones por millas", ylab = "Densidas",
main = "Densidad de galones por millas")
Añadiendo dos columnas, mpg como eje x y wt como eje y se dibujará un diagrama de dispersión o scatterplot.
qplot(mpg, wt, data=mtcars)
El argumento
color diferencia los puntos de acuerdo con una tercer variable.
qplot(mpg, wt, data=mtcars, color=factor(am))
####Gráfico de puntos vs gráfico de lineas El valor por defecto del argumento
geom es point, sin embargo dicho valor puede ser remplazado por line para graficar lineas.
qplot(mpg, wt, data=mtcars, geom=c("point", "line"))
El valor smooth de geom grafica el ajuste y el error estándar de LOESS (locally weighted scatterplot smoothing)
qplot(mpg, wt, data = mtcars, geom = c("point", "smooth"))# standard error
## `geom_smooth()` using method = 'loess'
También es posible realizar el ajuste condicionado por una tercer variable…
qplot(mpg, wt, data = mtcars, color = factor(cyl), geom=c("point", "smooth")) # metodo loess
## `geom_smooth()` using method = 'loess'
…y modificar el método de ajuste para realizar una regresión lineal
qplot(mpg, wt, data = mtcars, color = factor(cyl))+ geom_smooth(method = "lm") # metodo linear modeling, regresion lineal
qplot(mpg, wt, data = mtcars, facets = .~factor(cyl), color = factor(cyl))+ geom_smooth(method = "lm") # metodo linear modeling, regresion lineal
Los siguientes ejemplos muestran que la variable cyl es continua por lo que, por defecto, se selecciona una escala de color continua. Si queremos asignar una escala discreta, es necesario transformar cly al tipo de dato factor.
qplot(mpg, wt, data = mtcars, colour = cyl)
qplot(mpg, wt, data = mtcars, colour = factor(cyl))
El tamaño y la forma de puntos puede cambiarse acorde a una variable.
qplot(mpg, wt, data = mtcars, size = mpg)
qplot(mpg, wt, data = mtcars, shape = factor(cyl))
qplot(mpg, wt, data = mtcars, label = rownames(mtcars),
geom=c("point", "text"),
hjust=0, vjust=0)
qplot(mpg, data = mtcars, facets = ~ am, bins=5)
qplot(mpg, wt, data = mtcars, facets = ~ am)
qplot(mpg, wt, data = mtcars, facets = gear ~ am)
Otro ejemplo con facets puede observarse a continuación
qplot(hp, mpg, data=mtcars, shape=factor(am), color=factor(am),
facets=gear~cyl, size=I(3),
xlab="Horsepower", ylab="Miles per Gallon")
qplot(factor(am),mpg , data = mtcars, geom="boxplot")
qplot(factor(am),mpg , data = mtcars, geom=c("boxplot", "jitter"))
qplot(factor(am),mpg , data = mtcars,
geom=c("boxplot", "jitter"), fill = factor(am))
qplot(factor(am),mpg , data = mtcars,
geom = "dotplot", stackdir = "center", binaxis = "y",
color = factor(am), fill = factor(am))
## `stat_bindot()` using `bins = 30`. Pick better value with `binwidth`.
qplot(factor(am),mpg , data = mtcars,
geom = "violin", stackdir = "center", binaxis = "y",
color = factor(am), fill = factor(am))
## Warning: Ignoring unknown parameters: stackdir, binaxis
Trabaja con los datos data(precip) y crea un histograma.