jueves, 24 de julio de 2014

Transformacion de datos II

En la anterior entrada aprendimos a realizar algunas manipulaciones a nuestra matriz de datos de cara a facilitarnos el analisis: creamos dos nuevas variables que nos indicaban los tiempos de reaccion y si la respuesta dada por el participante era correcta (click aqui para descargar la matriz de datos de la anterior entrada). Lo siguiente que podemos hacer es calcular el porcentaje de ensayos correctos. La función table() nos da el número de veces que se repite un valor de la variable (frecuencia absoluta), por lo que en nuestro caso esta función nos daría el número de ensayos correctos e incorrectos. Teniendo en cuenta que el número total de ensayos fue de 50 podemos calcular el porcentaje de ensayos correctos e incorrectos multiplicando la frecuencia absoluta por 100 y dividiéndola por 50:

table(data$ACC)*100/50
Con esta instrucción le estamos pidiendo a R que nos de la frecuencia absoluta para la variable ACC y que la multiplique por 100 y la divida por 50. Como podemos ver un 44% del total de los ensayos fueron correctos (un número relativamente bajo, pero los resultados son totalmente inventados).
 
Si seguidamente queremos analizar exclusivamente los ensayos correctos, podemos crear una matriz exclusivamente con estos ensayos. Para ello podemos usar la función subset():

RespCor <- subset(data, ACC =="correcto", select= c("Time", "ResponseTime", "Correct", "Keypress", "Condition","RTs"))
Con esta instrucción le estamos diciendo a R que cree una nueva matriz de datos. Esta nueva matriz de datos contendrá los ensayos correctos de la matriz data (data, ACC =="correcto") para las variables Time, ResponseTime, Correct, Keypress, Condition y RTs (select= c("Time", "ResponseTime", "Correct", "Keypress", "Condition","RTs")).
 
Por último, imaginemos que solo queremos los ensayos dentro de un rango de tiempo de respuesta determinado, por ejemplo, entre 700 y 1150. Esto también lo podemos hacer con la función subset():

Trimmed <- subset(RespCor, RTs>= 700 & RTs<= 1150, select= c("Time", "ResponseTime", "Correct", "Keypress", "Condition","RTs"))
Con esta instrucción le estamos indicando a R que cree una nueva matriz de datos que contenga aquellos ensayos de la matriz RespCor que contengan unos tiempos de reacción entre 700 y 1150 (RespCor, RTs>= 700 & RTs<= 1150) para las variables Time, ResponseTime, Correct, Keypress, Condition y RTs (select= c("Time", "ResponseTime", "Correct", "Keypress", "Condition","RTs")).
 
Con esta y con la anterior entrada, he intentado mostrar que en muchas ocasiones antes de realizar el análisis de datos, tendremos que limpiar un poco nuestra matriz de datos. En las próximas entradas empezaremos a realizar análisis descriptivos de nuestros datos. Click aquí para descargar el script de esta entrada.

1 comentarios :

MARIELENA dijo...

Hola, una pregunta con GGplot se puede crear gráfico con dos ejes?

Publicar un comentario