martes, 23 de septiembre de 2014

Cambiar las propiedades físicas de un gráfico I

En la anterior entrada (Click aquí para descargar la matriz y aquí para descargar el script)
vimos cómo crear un gráfico de dispersión. En algunas ocasiones nos interesara cambiar algunas propiedades físicas del gráfico, como puede ser el color o el tamaño de los puntos, la forma de estos, etc. En esta entrada vamos a ver cómo cambiar algunas de estas propiedades.
Si queremos cambiar el tamaño de los puntos, lo debemos especificar dentro de la función geom_point() con la propiedad “size”:

dispersion + geom_point(size=3)+geom_smooth(method ="lm")
Si cambiamos el 3 por un 5, el tamaño de los puntos será, obviamente, mayor. Si además queremos cambiar el color de nuestros puntos, también tendremos que hacerlo dentro de la función geom_point(), pero esta vez con la propiedad “color”. El color lo podemos especificar de dos formas, o bien escribimos directamente el nombre del color en inglés y entrecomillado (geom_point(color=”red”)) o lo especificamos numéricamente hasta encontrar el color que queremos (geom_point(color=2)). La instrucción para cambiar el tamaño a 3 y el color a rojo seria como sigue:

dispersion + geom_point(size=3, color ="red")+geom_smooth(method ="lm")
Si además queremos cambiar la forma de los puntos, lo podemos hacer con la propiedad “shape”:

dispersion + geom_point(size=3, color="red", shape=8)+geom_smooth(method="lm")
Cambiando el número de la propiedad “shape” cambiaremos la forma de los puntos.

Esto es todo por hoy. En la proxima entrada veremos como cambiar otras propiedades del grafico.

PD: Click aqui para descargar el script de esta entrada.

miércoles, 10 de septiembre de 2014

Diagramas de dispersión

Después de haber publicado la anterior entrada, me he dado cuenta que puede ser bastante confusa. Creo que lo mejor para aprender cómo hacer un gráfico en R es haciéndolo. Vamos a empezar con un gráfico de dispersión. Este tipo de grafico nos permite ver si existe alguna relación entre dos (o más) variables. Básicamente, en un gráfico de dispersión representamos la puntuación de cada sujeto en una variable con su puntuación en la otra variable.

Vamos a imaginar que un investigador está interesado en estudiar la relación entre el nivel de ansiedad y la puntuación en una prueba de memoria. Para ello evaluó la ansiedad en 20 participantes a los que posteriormente sometió a una prueba de memoria visual. Para tener los datos, descárgalos en tu ordenador y agrégalos a tu directorio de trabajo (click para descargar la matriz). Como ya vimos antes para crear un directorio de trabajo, usamos la función setwd(). Entre paréntesis incluiremos la ruta. En mi caso sería:
setwd("D:/R")
Como ya dijimos, para hacer gráficos usaremos el paquete ggplot2. Si no lo hemos descargado, lo hacemos con la siguiente instrucción:
install.packages("ggplot2")
Después de instalar el paquete, hay que referenciarlo o lo que es lo mismo, decirle a R que lo vamos a usar. Esto lo hacemos con la siguiente instrucción:
library(ggplot2)
Lo siguiente seria cargar la matriz de datos “ansiedad.csv”. Para ello ejecutamos la siguiente instrucción:
datos_ansiedad <- read.csv("ansiedad.csv", header=T)
El objeto ansiedad es una matriz de datos formada por las siguientes variables:
  • Género: sexo del participante
  • Ansiedad: puntuación en la escala de ansiedad antes de realizar la prueba de memoria visual
  • Puntuación: puntuación en la prueba de memoria visual
El primer paso para crear un gráfico (en este caso, un gráfico de dispersión) es definir un objeto en el que le digamos a R qué queremos graficar y como lo queremos. Por ejemplo, en nuestro caso queremos ver la relación existente entre ansiedad y memoria visual, por lo que debemos especificar en qué matriz se encuentran estas variables y el eje en el que queremos cada una de ellas. En nuestro caso, pondremos la ansiedad en el eje de abscisa (o eje x) y la puntuación en la prueba de memoria en el eje de ordenadas (o eje y):

dispersion <- ggplot(datos_ansiedad, aes (Ansiedad, Puntuacion))

Con esta instrucción hemos creado un objeto llamado dispersión basado en la matriz datos_ansiedad y hemos especificado que queremos que la variable Ansiedad aparezca en el eje x y puntación en el eje y. Sin embargo, no le hemos dicho como queremos representar esta información (de hecho, si ejecutamos dispersion no aparecerá nada). En nuestro caso queremos que la información sea representada mediante puntos, así que tendremos que ejecutar el siguiente comando:
dispersion + geom_point()
Si le echamos un vistazo rápido al gráfico, observamos que parece existir una relación negativa entre el nivel de ansiedad y la puntuación en la prueba de memoria visual: a mayor ansiedad menor nota. Los diagramas de dispersión suelen tener una línea que resume la tendencia de los datos (línea de regresión). Si queremos añadir esta línea, podemos hacerlo con la función geom_smooth():

dispersion + geom_point()+geom_smoth()
Con esta línea podemos ver más claramente que a mayor nivel de ansiedad, peor suele ser la nota en el examen de memoria visual. El área sombreada alrededor de la línea, representa el intervalo de confianza al 95% de la misma. Si queremos que la línea sea recta en vez de curva tendremos que añadir el método lm (linear model) en nuestra función geom_smooth():

dispersion + geom_point()+geom_smooth(method ="lm")
Esto es todo por hoy. Espero que esta entrada haya sido de utilidad!
Click aquí para descargar el script de esta entrada.

miércoles, 3 de septiembre de 2014

Introducción a los gráficos

Uno de los mayores atractivos de R es su capacidad para realizar gráficos. Sin embargo, esto no está exento de cierta complejidad. El paquete que uso para crear gráficos es el ggplot2. Así que primeramente debemos descargar el paquete si no lo hemos hecho antes:

install.packages(“ggplot2”)
Podemos decir que un gráfico en R está formado por diferentes capas. Por capa, se entiende cada elemento que conforma el gráfico. Por ejemplo, ejes de coordenadas, columnas, barras de error, leyenda, etc. Nuestra misión con un gráfico será combinar todos estos elementos en uno solo: el grafico final. Para incluir estos elementos usaremos las funciones geoms. Hay multitud de ellas, pero aquí solo veremos unas cuantas:
  • geom_bar(): para crear gráficos de barras
  • geom_point(): crea gráficos de puntos como diagramas de dispersión
  • geom_line(): nos permite unir puntos con una línea
  • geom_smoth(): crea una línea que resume la tendencia de los dato
  • geom_histogram(): crea un histograma
  • geom_errorbar(): crea barras de error
Por supuesto que todas estas funciones se pueden combinar para crear el grafico final. De hecho, en la mayoría de nuestras ocasiones esta será la norma (por ejemplo, cuando queremos añadir barras de error a nuestro histograma). Como veremos más de adelante, dentro del paréntesis de cada función geom tendremos que incluir los estéticos (aesthetics, en inglés). Muchos de ellos son opcionales (color, tamaño, etc.), pero determinaran como es nuestro gráfico.