Registro y lectura de archivos de datos
Siempre verifica tres veces si tus datos se han registrado correctamente antes de ejecutar tu experimento.
Usando el elemento logger
OpenSesame no registrará tus datos automáticamente. En cambio, debes insertar un elemento logger, típicamente al final de tu secuencia de pruebas.
Figure 1. El elemento logger.
La forma más sencilla de utilizar logger es dejando habilitada la opción "Registrar automáticamente todas las variables". De esa manera, todas las variables que OpenSesame conoce se escriben en el archivo de registro, excepto aquellas que están explícitamente excluidas (ver más abajo).
Puedes incluir explícitamente qué variables quieres registrar. La razón principal para hacerlo es cuando descubres que faltan algunas variables (porque OpenSesame no las detectó automáticamente) o si has desactivado la opción "Registrar automáticamente todas las variables",
También puedes excluir explícitamente ciertas variables del archivo de registro. La razón principal para hacerlo es mantener limpios los archivos de registro al excluir variables que generalmente no son útiles.
En general, debes crear solo un elemento logger y reutilizar ese logger en diferentes ubicaciones de tu experimento si es necesario (es decir, utilizar copias vinculadas del mismo elemento logger). Si creas múltiples logger (en lugar de usar un solo logger varias veces), todos escribirán en el mismo archivo de registro y el resultado será un desorden.
Usando Python inline script
Puedes escribir en el archivo de registro utilizando el objeto log
:
log.write('¡Esto se escribirá en el archivo de registro!')
Para obtener más información, consulte:
Por lo general, no debes escribir directamente en el archivo de registro y usar un elemento logger al mismo tiempo; hacerlo dará como resultado archivos de registro desordenados.
Formato de los archivos de datos
Si has utilizado el elemento logger estándar, los archivos de datos están en el siguiente formato (simplemente csv estándar):
- texto sin formato
- separados por comas
- entre comillas dobles (las comillas dobles literales se escapan con barras invertidas)
- finales de línea estilo Unix
- codificado en UTF-8
- nombres de columnas en la primera fila
Leer y procesar archivos de datos
En Python con pandas o DataMatrix
En Python, puedes usar pandas para leer archivos csv.
import pandas
df = pandas.read_csv('sujeto-1.csv')
print(df)
O DataMatrix:
from datamatrix import io
dm = io.readtxt('sujeto-1.csv')
print(dm)
En R
En R, puedes simplemente usar la función read.csv()
para leer un solo archivo de datos.
df = read.csv('sujeto-1.csv', encoding = 'UTF-8')
head(df)
Además, puedes utilizar la función read_opensesame()
del paquete readbulk para leer y combinar fácilmente varios archivos de datos en un gran marco de datos. El paquete está disponible en CRAN y se puede instalar a través de install.packages('readbulk')
.
# Leer y combinar todos los archivos de datos almacenados en la carpeta "raw_data"
library(readbulk)
df = read_opensesame('raw_data')
En JASP
JASP, un paquete estadístico de código abierto, abre archivos csv directamente.
En LibreOffice Calc
Si abres un archivo csv en LibreOffice Calc, debes indicar el formato de datos exacto, como se indica en Figure 2. (La configuración predeterminada suele ser correcta).
Figure 2.
En Microsoft Excel
En Microsoft Excel, debes utilizar el Asistente para importar texto.
Combinar múltiples archivos de datos en un solo archivo grande
Para algunos propósitos, como el uso de tablas dinámicas, puede ser conveniente combinar todos los archivos de datos en un solo archivo grande. Con Python DataMatrix, puedes hacerlo con el siguiente script:
import os
from datamatrix import DataMatrix, io, operations as ops
# Cambia esto a la carpeta que contiene los archivos .csv
SRC_FOLDER = 'student_data'
# Cambia esto a una lista de nombres de columnas que quieras mantener
COLUMNS_TO_KEEP = [
'RT_search',
'load',
'memory_resp'
]
dm = DataMatrix()
for basename in os.listdir(SRC_FOLDER):
path = os.path.join(SRC_FOLDER, basename)
print('Leyendo {}'.format(path))
dm <<= ops.keep_only(io.readtxt(path), *COLUMNS_TO_KEEP)
io.writetxt(dm, 'merged-data.csv')
Registro en OSWeb
Cuando ejecutas un experimento en un navegador con OSWeb, el registro funciona de manera diferente a cuando ejecutas un experimento en el escritorio.
Específicamente, cuando inicias un experimento de OSWeb directamente desde OpenSesame, el archivo de registro se descarga al final del experimento. Este archivo de registro está en formato .json
. Cuando inicias un experimento de OSWeb desde JATOS, no hay un archivo de registro como tal, pero todos los datos se envían a JATOS desde donde se pueden descargar.
Ver también: