Histograma en RStudio con datos de ejemplo

En el anterior artículo en malnuer sobre RStudio solamente nos dio para instalarlo y ejecutar algún cálculo básico, dejándonos con un montón de promesas sin cumplir sobre lo interesante que podía llegar a ser. Vamos a descubrir un poco más. Esta vez vamos a dibujar un histograma en RStudio utilizando algunos de los datos de ejemplo.

Vamos a cargar uno de los conjuntos de datos que vienen con RStudio para poder hacer pruebas. Se trata de una tabla de modelos de coches de 1973-74 con algunas especificaciones técnicas, sacadas de la revista Motor Trend US. Este dataset se llama mtcars y cuenta con 32 observaciones (coches) con 11 variables (gasto combustible, núm de cilindros, peso…). Si recuerdas lo que dijimos en el artículo anterior, te sonarán estas palabras pero por si acaso lo repasamos:

  • Dataset: Es un conjunto de datos, puede ser una lista o una tabla.
  • Observación: Son las filas de las tablas, en nuestro ejemplo cada coche es una observación.
  • Variable: Son las columnas de las tablas, en nuestra tabla son las características de cada coche.

Todas las cosas que vamos a hacer y los ejemplos, los haremos en la consola directamente, que se encuentra en la parte de abajo a la izquierda. Así que vamos a empezar escribiendo:

data(mtcars)

Con eso vamos a conseguir cargar los datos de ejemplo en la memoria. Para asegurarnos de que es así, podemos mirar en el cuadro de arriba-derecha (la pestaña “Environment“) , ahí debemos tener una entrada que se llame “mtcars” y cuyo valor será… ¿<promise>? ¿qué es eso? Bueno, eso es simplemente una forma de ahorrar memoria. RStudio ya sabe que vas a usar esos datos pero hasta que lo hagas, sólo está indicado. Escribe ahora esto en la consola: (nota: si no te aparece eso de promise, no te preocupes, sigue adelante)

mtcars

Probablemente no te haya dado tiempo ni a terminar de escribirlo cuando en la ventana de datos ya se ha quitado lo de “<promise>” y ha salido algo como “32 obs. of 11 variables“, que significa que tenemos una tabla con 32 coches y 11 características. Para saber cuales son esas características, podemos usar esta otra línea:

names(mtcars)

Esto nos devolverá una lista con los nombres de las características (variables) de la tabla, y que son cosas como la velocidad, número de cilindros, potencia, consumo… pero para ser más manejables a la hora de trabajar con RStudio, esos nombres están abreviados y no son muy descriptivos como mpg, cyl o disp, así que para enterarte bien de lo que significan, mejor míralo en la ayuda:

?mtcars

Eso que acabamos de hacer se puede hacer en general con casi cualquier cosa. Si pones una interrogación delante de una palabra clave, quiere decir que quieres acceder a la ayuda, y en el cuadro de abajo a la derecha veremos toda la información disponible. Otra cosa que es posible que queramos hacer, es echarle un vistazo a los datos propiamente dichos, y para eso podemos usar: (con mayúscula, cuidado)

View(mtcars)

Eso nos cargará la vista de tabla en el cuadro superior izquierdo. Si nos fijamos bien en la tabla que estamos viendo, podemos darnos cuenta de que hay 11 variables, pero entre ellas no se cuenta el nombre del modelo del coche que es el identificador de la fila, y este no se incluye en el número de variables. A veces, las filas tienen un identificador y otras veces no.

Vamos a hacer nuestro primer gráfico, y empezaremos con algo muy simple, así que ¿qué tal un histograma que muestre el gasto de combustible? Pero primero tengo que explicar lo que es eso (aunque probablemente ya lo sepas). Un histograma, es una manera de representar gráficamente una variable. Consiste en coger todos los datos de la tabla y separarlos en grupos que cubran todos los valores posibles de la variable que estamos estudiando, por ejemplo: de 0 a 10, de 10 a 20, de 20 a 30… después cuentas cuántos registros hay dentro de cada grupo y lo representas en forma de barritas.

hist(mtcars$mpg)
Histograma de consumo de combustible

Histograma de consumo de combustible

Bueno, no se puede conseguir más con menos. Esto lo hemos conseguido con menos de 20 caracteres y de un golpe nos sirve para saber que hay 6 coches cuyo gasto está entre 10 y 15 galones/milla, o que la mayoría de los coches tienen un gasto entre 15 y 20 galones/milla.

Ahora vamos a mejorar el aspecto visual del gráfico añadiendo algunas opciones, pero ten en cuenta que R está más orientado a la investigación, y es más interesante el manejo de los datos que la estética en sí. Venga vamos a ponerle un título a nuestro histograma, para eso usamos la opción “main”:

hist(mtcars$mpg,main="Distribución de vehículos según su consumo")

¡Bien! Hemos usado el parámetro “main“, sigamos cambiando cositas:

  • main: Título del gráfico que aparecerá en la parte superior.
  • col: Color de relleno de las columnas, para no complicarte lo mejor es ponerlo en RGB hexadecimal. Ej: “#ff9900
  • border: Color del borde de las columnas, igual que antes, usa hexadecimal.
  • breaks: Número de divisiones en las que quieres dividir el gráfico, es decir, el número de barras que queremos en total.
  • xlab: Nombre del eje X, es decir lo que estamos mostrando en la distribución.
  • ylab: Nombre del eje Y, esto generalmente es “frecuencia“, pero se puede personalizar.
  • xlim: Límites del eje X, se establece con una lista de 2 elementos, por ejemplo: c(5,25)

Nota: Si las divisiones que pongas en breaks y los límites puestos en xlab no cuadran, puede que se salgan barras por la derecha y quede un poco feo, ten cuidado con eso.

Hay más cosas que puedes consultar en la ayuda, pero nos quedaremos con esto. Vamos con un ejemplo completito. Ten en cuenta que si una línea es muy larga, puedes continuarla en la siguiente. Si pulsas enter y la línea no ha terminado todavía (falta el paréntesis de cierre por ejemplo), se pondrá automáticamente un + al principio de la línea de abajo y podrás seguir a partir de ahí:

hist(mtcars$mpg,main="Distribución de vehículos según su consumo",col="#996600",border="#ff9900",breaks=15,xlab="Consumo (galones/milla)",ylab="Nº de coches", xlim=c(5,40))
Histograma de consumo de combustible en color

Histograma de consumo de combustible en color

Fácil, ¿verdad? Antes de acabar, vamos a cargar otro conjunto de datos y a hacer otro histograma. Usaremos los datos llamados “quakes” que incluye la información de mil seísmos ocurridos en Fiji. Queremos cargar los datos y ver qué nombres tienen las variables, así que ya sabes lo que hay que poner:

data(quakes)
names(quakes)

Vamos a representar la variable “mag” que debe ser la magnitud y vamos a dibujar la distribución de estos seísmos:

hist(quakes$mag,main="Seísmos en Fiji",col="#009966",border="#007744",xlab="Magnitud",ylab="Nº de seísmos")
Histograma de seísmos en Fiji en color

Histograma de seísmos en Fiji en color

Con eso vamos a acabar por hoy, pero como hemos puesto cosas en la memoria de datos que no vamos a volver a usar seguramente, te digo la última receta para que puedas eliminarlos si quieres. Para ver qué cosas hay cargadas en memoria (aunque salen en la ventana de arriba-derecha) y para eliminar todas esas cosas (aunque hay un botoncito con el dibujo de una escoba que sirve para eso), puedes usar:

# Lista de cosas que hay en memoria
ls()
# Eliminar toda la lista de cosas que hay en memoria
rm(list=ls())

Y así dejamos todo limpito.

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn