Creando un gráfico de Dispersión con ggplot2 (Scatterplot) Parte 3 .- Introducción al uso de Condicionamiento

Así como se dijo al final de esta entrada, se desea obtener un gráfico de dispersión que nos permita visualizar tres variables: Altura, Peso y Género, de tal manera que las dos primeras variables se muestren en los ejes mientras que la tercera sea mostrada a través de la combinación de: Forma y Color del objeto geométrico con que se representa los valores de la observación, así por ejemplo se tiene que el genero masculino es mostrado a través de un triangulo de color celeste; aquí se genera se gráfico descrito, pero se nota que hay observaciones superpuestas, la posible corrección es el uso de transparencias (explicadas en el blog anterior) y ahora se genera el gráfico con transparencias para visualizar mejor las observaciones superpuestas.

Usando qplot

> qplot(Altura, Peso, data=datos, shape=Genero, colour=Genero,
+ alpha=I(1/2), size=I(2), xlab="Altura(metros)", ylab="Peso(libras)")

Usando ggplot

> ggplot(data=datos, aes(Altura, Peso))+
+ geom_point(aes(shape=Genero, colour=Genero), alpha=1/2, size=2)+
+ xlab("Altura(metros)")+ ylab("Peso(libras)")

Altura Vs Peso Vs Genero + Alpha = 1/2

Efectivamente ahora son mejor detectados los elementos superpuestos, gracias al uso de la transparencia. Ahora suponga que el uso de transparencias no es suficiente y aún es difícil separar los conjuntos de datos correspondientes al Género: femenino y masculino; una posible solución es dividir el gráfico en dos sub-gráficos (uno por cada género) usando la componente condicionamiento del paquete ggplot.

Gráfico de Dispersión usando condicionamiento

La idea del condicionamiento es simple, en general se tiene un conjunto de datos y con ellos se genera un gráfico, la idea del condicionamiento es partir el subconjunto de datos en función de una (o dos) variables de interés y generar varios sub-gráficos por cada partición creada.

En el conjunto de datos con el que estamos trabajando, tenemos (entre otras) las variables Altura,Peso y Género; la variable género nos divide el conjunto de datos en dos subconjuntos: observaciones con genero masculino y género femenino; entonces lo que vamos a realizar a continuación es un gráfico conformado por dos sub-gráficos (uno por cada Género) en cada uno de los cuales se visualice la relación Altura vs Peso.

Usando qplot

> qplot(Altura, Peso, data=datos, size=I(2),
+ xlab="Altura(metros)", ylab="Peso(libras)")+ facet_grid(.~Genero)

Usando ggplot

> ggplot(data=datos, aes(Altura, Peso))+ geom_point( size=2)+
+ xlab("Altura(metros)")+ylab("Peso(libras)")+ facet_grid(.~Genero)

Altura vs Peso con condicionamiento para la variable Genero

Así podemos comparar entre Géneros la diferencia de la relación Altura vs Peso; se puede ver por ejemplo que los hombres acumulan más observaciones en la parte superior derecha, es más, si analizamos las observaciones con Altura mayor a 1.7m se ve una marcada diferencia.

Formalmente el primer sub-gráfico se puede leer como Relación entre Altura vs Peso dado que el Género es igual a «F» (Femenino).

El comando que permite hacer el condicionamiento es el facet_grid() y l variable con la que vamos a condicionar horizontalmente la definimos con .~Variable, si quisieramos condicionar en base a dos variables hacemos VariableVertical~VariableHorizontal

En próximos post veremos más ejemplos del uso del condicionamiento.

1 ping

  1. […] variables, visualizando la tercer variable combinando color y forma, Uso de transparencias 5.- Creando un gráfico de Dispersión con ggplot2 (Scatterplot) Parte 3.- Introducción al uso de Condicionamiento, Gráfico de dispersión para tres variables, generando […]

Deja un comentario

Tu email nunca se publicará.


Ir a la barra de herramientas