Antes
de continuar con otros gráficos, es necesario tener en cuenta algunas
consideraciones sobre el paquete ggplot2. Imaginemos que queremos estudiar un
efecto muy conocido en la literatura de procesamiento numérico: el problem size
effect. Este efecto muestra que somos más rápidos en resolver operaciones
pequeñas (ej.: 3+5) que operaciones grandes (ej.: 22+ 7). Imaginemos que 20
participantes han realizado una tarea de sumas. Las sumas podían ser de una
cifra (problem size pequeño) o de dos (problem size grande). Los resultados
están en la matriz problem_size, asi que lo primero que haremos es cargar la
matriz de datos.
problem_size <-
read.csv("problem_size.csv", header=T)
Una
vez que hemos cargado nuestra matriz, podemos ver que en la primera columna
tenemos a cada sujeto (esta columna es prácticamente irrelevante). En la
segunda columna tenemos los resultados de cada sujeto para las operaciones de
una cifra y en la tercera los resultados para las operaciones de dos cifras. Estamos
ante un diseño intrasujeto, ya que todos los participantes pasan por todas las
condiciones del experimento. Cada columna en la matriz de datos representa cada
una de las condiciones (pequeña y grande) de nuestra variable independiente
(problem size). Este tipo de matriz recibe el nombre de matriz de formato ancho
(wide format). Un ejemplo lo podemos ver en la siguiente matriz.
Cuando
realizamos un gráfico usando el paquete ggplot2, tenemos que tener en
cuenta que siempre representaremos la relación entre dos variables de nuestra
matriz. Sin embargo, en este caso, nosotros no queremos representar la relación
entre las condiciones peque y grande,
sino que queremos representar la relación entre la variable condición (peque y
grande) y el tiempo empleado en resolver el problema. Por lo tanto lo primero
que tendremos que hacer es modificar la matriz de tal forma que en una columna
aparezca la variable condición y en una segunda columna la variable tiempo. Ya
que nuestro diseño es intrasujeto, cada participante aparecerá en dos filas
diferentes: una para la condición pequeña y otra para la grande. En resumen,
nuestra nueva matriz tendría que ser en formato largo (long format) que es como
la que se presenta en la siguiente imagen.
Para convertir nuestra matriz a formato
largo, tendremos que bajar e instalar el paquete reshape.
install.packages("reshape")
library(reshape)
Volviendo a nuestra matriz problem_size, si
queremos transformarla en formato largo crearemos una matriz llamada
problem_sizeM y usaremos la función melt() para reesctructurar el contenido de la
matriz en formato ancho problem_size. La forma general de esta función es como
sigue:
DatosM <- melt(datos, id=
c("variables constantes", measured = c("variables que cambian en
cada columna"))
En id tendremos que especificar aquellas
variables que no cambian entre columnas. En nuestro caso sería el número de
sujeto, ya que esta variable es constante para cada participante. En nuestro caso
tendríamos que añadir id= "sujeto".
No tenemos que usar la función c() puesto
que solo tenemos una variable constante. En segundo lugar, en measured
tendremos que especificar las variables que varían en diferentes columnas o,
dicho de otra manera, las diferentes condiciones de nuestra variables
intrasujeto. En nuestro caso, tenemos la variable intrasujeto tamaño con dos
niveles peque y grande. Por lo tanto, tendríamos que añadir measured = c("peque",
"grande"). En resumen, la instrucción seria:
problem_sizeM <-
melt(problem_size, id= "sujeto", measured = c("peque",
"grande"))
De esta forma ya tendríamos nuestra matriz de
datos transformada en formato largo.
Click aquí para descargar la matriz de datos.