A continuación daremos un ejemplo de cómo proceder con esta tarea. En primer lugar vamos a cargar la base de datos mtcars que viene incluida en R.
data("mtcars")
Exploramos la estructura de mtcars para conocer cuántas y qué tipos de variables aloja.
str(mtcars)
## 'data.frame': 32 obs. of 11 variables:
## $ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
## $ cyl : num 6 6 4 6 8 6 8 4 4 6 ...
## $ disp: num 160 160 108 258 360 ...
## $ hp : num 110 110 93 110 175 105 245 62 95 123 ...
## $ drat: num 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
## $ wt : num 2.62 2.88 2.32 3.21 3.44 ...
## $ qsec: num 16.5 17 18.6 19.4 17 ...
## $ vs : num 0 0 1 1 0 1 0 1 1 1 ...
## $ am : num 1 1 1 0 0 0 0 0 0 0 ...
## $ gear: num 4 4 4 3 3 3 3 4 4 4 ...
## $ carb: num 4 4 1 1 2 1 4 2 2 4 ...
Una descripción completa de las variables contenidas en la base de datos puede obtenerse tipeando ?mtcars en la consola de R. El siguiente paso consiste en plotear gráficos para mostrar la distribución de las variables cotenidas en mtcars.
En el caso de variables numéricas se pueden utilizar histogramas, gráficos de cajas, o diagramas de dispersión para conocer la distribución de las mismas. Los histogramas son más útiles cuando queremos visualizar la distribución de una única variable numérica. Los gráficos de cajas son más apropiados cuando queremos conocer la distribución de variables numéricas a través de varios grupos (i.e., variable numérica versus variable categórica). Los gráficos de dispersión son útiles cuando queremos visualizar la relación entre dos variables numéricas.
Para plotear la distribución de mpg, una variable numérica en mtcars, usando un histograma procedemos de la siguiente manera:
hist(mtcars$mpg)
Podemos cambiar la denominación del título y de los ejes x e y con los argumentos main, xlab y ylab, respectivamente, como se muestra a continuación:
hist(mtcars$mpg, main = "Histograma de MPG", xlab = "MPG", ylab = "Frecuencia")
Podemos plotear la distribución de mpg a través de los niveles de cyl, una variable categórica, usando gráficos de cajas, como se muestra a continuación:
boxplot(mpg ~ cyl, data = mtcars)
Finalmente, podemos evaluar la relación entre mpg y hp, otra variable numérica, usando un digrama de dispersión, como se muestra abajo:
plot(mpg ~ hp, data = mtcars)
Las denominaciones del título y de los ejes en los gráficos de cajas y gráficos de dispersión pueden modificarse siguiendo las mismas indicaciones dadas para los histogramas.
Se puede conocer la distribución de los niveles de una variable categórica usando un gráfico de barras. Nunca bajo ninguna circunstancia deben utilizarse gráficos de torta para plotear la distribución de variables categoricas.
Para plotear la distribución de cyl, una variable categórica con 3 niveles, primero transformamos la variable en una tabla usando la función table() y luego usamos la función barplot(), como se muestra a continuación:
barplot(table(mtcars$cyl))
Al igual que en los ejemplos anteriores, se puede agragar títulos y denominaciones de los ejes con los argumentos main, xlab, y ylab.
Muchas veces es conveniente combinar los gráficos generados en un único plot. Para esto podemos usar la función par() con el argumento mfrow.
Usaremos el histograma y el gráfico de barras generados previamente y los combinaremos en un único panel que coloque ambos gráficos uno al lado del otro:
par(mfrow = c(1, 2))
hist(mtcars$mpg, main = "Histograma", xlab = "MPG", ylab = "Frecuencia")
barplot(table(mtcars$cyl), main = "Barras", xlab = "CYL", ylab = "Frecuencia")
El argumento mfrow = c(1, 2) indica que los gráficos se deben colocar en una única fila (1) distribuida en (2) columnas. Cada gráfico va en una línea distinta. En el caso de que se quieran incluir más gráficos se deben especificar el número de filas y columnas que formarán el panel. Por ejemplo, para colocar 3 figuras una debajo de la otra se utilizaria un panel de 1 columna con 3 filas. Es decir, el argumento sería mfrow = c(3, 1).
Los gráficos generados se puden grabar usando las funciones bmp(), jpeg, png o tiff, dependiendo del formato de exportación deseado.
Para guardar el panel anterior se puede proceder de la siguiente manera:
jpeg(filename = "Figura1.jpg", width = 400, height = 400)
par(mfrow = c(1, 2))
hist(mtcars$mpg, main = "Histograma", xlab = "MPG", ylab = "Frecuencia")
barplot(table(mtcars$cyl), main = "Barras", xlab = "CYL", ylab = "Frecuencia")
dev.off()
## png
## 2
Veamos el código línea a línea:
jpeg() abre un dispositivo gráfico JPG y le pasa los siguientes argumentos:
filename = "Figura1.jpg", que corresponde al nombre del archivo a guardar con su extensión correspondientewidth = 400, que corresponde al ancho de la figura a guardar en pixelesheight = 400, que corresponde a la altura de la figura a guardar en pixelespar(), que establece el área de ploteo con 1 fila y 2 columnashist(), que plotea el histogramabarplot(), que plotea el gráfico de barrasdev.off(), que cierra el dispositivo gráficoEl último paso es necesario para guardar el gráfico en un archivo externo. Ten en cuenta que no aparecerá ningún gráfico en la pantalla sino que se guardará directamente al disco duro.
CO2 que viene incluida en R. Revisa la descripción de la base de datos con ?CO2 y estudia la estructura de las variables con str()Tarea4.pngTarea4.R