Tipos de variables

Comencemos con un recordatorio de algo muy importante: existen básicamente dos tipos de variables, que en algunas referencias llaman cualitativas y cuantitativas. Para enfatizar más la diferencia aquí solemos llamarles variables categóricas y numéricas. La diferencia parece simple pues si ves datos “no numéricos” deben ser categóricos, pero en algunos contextos las variables numéricas discretas bien pueden ser tratadas como categóricas. Revisa de las funciones de probabilidad la diferencia entre las mediciones discretas y continuas.

Al trabajar con tablas de datos es bastante común que te encuentres variables de los dos tipos. Para ejemplificar, del dataset ya mencionado Housing, así se ven las primeras 5 líneas:

precio lote recamaras banyos pisos recreacion sotano gas aireac cochera preferido
42000 5850 3 1 2 no yes no no 1 no
38500 4000 2 1 1 no no no no 0 no
49500 3060 3 1 1 no no no no 0 no
60500 6650 3 1 2 yes no no no 0 no
61000 6360 2 1 1 no no no no 0 no

¿Identificas de qué tipo es cada variable? De esto dependerá cuál es la gráfica que debemos elegir.

Hay varias formas de generar gráficos en R. La forma que aplicaremos nosotros para generar imágenes fijas es con las funciones del paquete ggplot2 (por la grámatica de las gráficas). Cuando lo vayas a utilizar hay que cargar el paquete cada vez que inicias RStudio:

library(ggplot2)

La estructura básica de una función de ggplot2 para incluir una variable es siempre de la forma:

ggplot(dataset, aes(variable)) + 
  geom_...(opciones) +
  complementos()

Donde ggplot es la función “de cajón”; dataset es el nombre del conjunto que cargaste que quieras utilizar, aes es otra pequeña función con la estética (aesthetics), que significa que menciona las variables involucradas, variable es el nombre de la columna con los datos que quieres ver y el tipo de gráfico se especifica con una geometría geom_... que siempre tiene forma de modificarse con opciones y complementos. Cada elemento que se agrega a esta función con + se dice que es una capa más sobre la imagen construida.

Histograma

Tomando en cuenta lo anterior, la forma práctica de visualizar qué ocurre con más frecuencia en una variable numérica es por medio de un histograma. Por decir, la distribución de los tamaños de los lotes de las casas vendidas en Canadá:

ggplot(Housing, aes(lote)) +
  geom_histogram()

Las gráficas fijas aparecen en la pestaña de Plots en la ventana inferior derecha. Una vez que obtengas la versión definitiva de la gráfica la puedes guardar de alguna de las opciones que hay en Export.

La cantidad de intervalos se genera automáticamente basada en alguna de las reglas que existen pero no hay una única forma correcta. Tú puedes especificar cuántos intervalos quieres para clasificar las casas con la opción bins; una de esas formas es con un número entero para la cantidad de intervalos. También puede ser un vector con los puntos donde se separen los intervalos. En el primer caso:

ggplot(Housing, aes(lote)) +
  geom_histogram(bins = 15)

Todas las caracerísticas de la gráfica se pueden modificar. Por decir, ya tienes intervalos de tamaño diferente, pero no se distingue bien la división. Para esto el contorno colour y el interior de las barras fill se especifican como opciones de esta geometría:

ggplot(Housing, aes(lote)) +
  geom_histogram(colour = "white", fill = "blue")

¿Qué valores válidos existen para colores? Puedes consultar los colores disponibles en esta liga y usar el nombre o el código del color en hexadecimal.

Gráfica de densidad

La forma de relacionar la distribución de una muestra con las distribuciones de probabilidad es graficando lo que llamamos una densidad empírica: es la distribución de una variable numérica por medio de una curva equivalente a una función de densidad.

ggplot(Housing, aes(lote)) +
  geom_density()

Aquí la altura de la curva ya no es frecuencia, como en el histograma, lo relevante es que el área bajo la curva representa probabilidad. En este gráfico bins no tiene sentido, pero colour cambia la curva y fill cambia el relleno del espacio entre el eje horizontal y la curva:

ggplot(Housing, aes(lote)) +
  geom_density(fill = "pink")

Gráfica de barras

La representación gráfica más adecuada de una variable categórica es la gráfica de barras. Un histograma también son barras, pero las categorías tienen una cantidad definida de valores diferentes y siempre verás una barra con el conteo de cada nivel de la variable. En este caso, ahora con el dataset mpg ya incluido en ggplot2

manufacturer model displ year cyl trans drv cty hwy fl class
audi a4 1.8 1999 4 auto(l5) f 18 29 p compact
audi a4 1.8 1999 4 manual(m5) f 21 29 p compact
audi a4 2.0 2008 4 manual(m6) f 20 31 p compact
audi a4 2.0 2008 4 auto(av) f 21 30 p compact
audi a4 2.8 1999 6 auto(l5) f 16 26 p compact

Podemos ver los conteos para cada tipo de auto, determinado por la variable class:

ggplot(mpg, aes(class)) +
  geom_bar()

De nuevo, colour y fill aplican como antes. Si necesitaras reducir el ancho de tu gráfica evitando que se empalmen los nombres del eje horizontal tienes la opción de intercambiar los ejes con el complemento coord_flip:

ggplot(mpg, aes(class)) +
  geom_bar(fill = "darkorange") +
  coord_flip()

Lo que hace más visibles a las etiquetas de los niveles de la variable.


Este documento fue hecho con RMarkdown.