Saltar al contenido principal
LibreTexts Español

2.5: Ejercicio- Crear una Lista de Eventos

  • Page ID
    151294
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    Nuestro siguiente paso es agregar algo llamado EventList al conjunto de datos de EEG. Un EventList es una lista simple y de fácil acceso de todos los códigos de eventos en un conjunto de datos. EEGLAB almacena códigos de eventos en una estructura de datos de Matlab que es un poco difícil de acceder para los principiantes, por lo que agregamos la estructura EventList cuando creamos ERPLAB. Después de todo, el evento está en nombre de la técnica ERP, por lo que queríamos que fuera fácil ver y manipular los códigos de eventos.

    Si aún no tiene el conjunto de datos filtrado del ejercicio anterior cargado en EEGLAB, continúe y cárguelo ahora (6_N400_preprocessed_filt).

    En la GUI de EEGLAB, seleccione ERPLAB > EventList > Crear EEG EVENTLIST. En la GUI que aparece, marque la casilla etiquetada Exportar lista de eventos a archivo de texto e ingrese eventos en el cuadro de texto para indicar el nombre del archivo. Cuando se crea EventList, se adjunta al conjunto de datos de EEG, y la opción Exportar lista de eventos a texto fil e también lo guarda como un archivo de texto para que pueda ver fácilmente los códigos de eventos.

    Asegúrese de que el resto de la GUI coincida con la configuración mostrada en la Captura de Pantalla 2.7 y luego haga clic en el botón CREAR.

    Captura de pantalla 2.7

    Entonces verás una nueva ventana que pregunta ¿Qué quieres hacer con el nuevo conjunto de datos? Simplemente acepte la configuración predeterminada haciendo clic en Aceptar. Ahora ha creado una nueva copia del conjunto de datos que tiene el EventList adjunto. El conjunto de datos inicial se llamó 6_n400_preprocessed_filt, y el nuevo debe llamarse 6_N400_preprocessed_filt_elist. Puede ver los conjuntos de datos cargados en el menú Conjuntos de datos. Necesitará el nuevo conjunto de datos para el siguiente ejercicio, así que asegúrese de mantener abierto EEGLAB o guarde el conjunto de datos en su disco duro (usando EEGLAB > Archivo > Guardar conjunto de datos actual como).

    Es un poco complicado mirar la EventList directamente, pero podemos ver la copia que guardaste como un archivo de texto, que debería llamarse events.txt. Deberías poder ver este archivo listado en la sección Carpeta actual de la GUI principal de Matlab (ver la esquina inferior izquierda de Captura de Pantalla 2.8).

    Captura de pantalla 2.8

    Puedes ver este archivo en prácticamente cualquier editor de texto, pero lo más fácil de hacer es usar el editor de texto integrado de Matlab. Simplemente puede hacer doble clic en el nombre del archivo en el cuadro Carpeta actual para abrir el archivo. Debería verse algo así como Captura de pantalla 2.9.

    Captura de pantalla 2.9

    En la parte superior del archivo, verás un montón de información general sobre la grabación de EEG, como el número de canales y la frecuencia de muestreo. Después verás una lista de los códigos de eventos, con uno por línea. Cada línea contiene varias columnas, muchas de las cuales discutiremos más adelante. Por ahora, las columnas clave son item (que indica el orden de los códigos de evento), ecode (que es el código de evento real), onset (que es el tiempo del código de evento relativo al inicio de la grabación) y diff (que es la cantidad de tiempo entre el código de evento actual y el código de evento anterior, en milisegundos en lugar de segundos). En principio, los códigos de eventos pueden tener una duración (enumerados en la columna de duramadre), pero esta característica no es utilizada por ERPLAB y los códigos de eventos suelen considerarse instantáneos (es decir, una duración de 0).

    Si miras la columna diff, ahora puedes ver exactamente cuánto tiempo ha transcurrido entre el inicio de cada palabra objetivo y la palabra prima anterior, y puedes ver los tiempos de respuesta. Por ejemplo, la respuesta conductual en el primer ensayo (ítem #5, código de evento 201) fue de 563.48 ms después de la palabra objetivo anterior.

    De hecho, puede modificar el archivo de texto e importarlo de nuevo a EEGLAB/ERPLAB para modificar los códigos de eventos en un conjunto de datos de EEG (usando ERPLAB > EventList > Importar EEG EVENTLIST desde un archivo de texto). Por ejemplo, imagínese que el tema estaba confundido acerca de la tarea entre los códigos de eventos 120 y 160. Podría establecer la columna enable en 0 para estos eventos, lo que haría que fueran ignorados por todos los procesos ERPLAB. Del mismo modo, si usaste un rastreador ocular durante el experimento, podrías agregar códigos de eventos correspondientes a las fijaciones. Si sabes cómo programar en Matlab, puedes modificar directamente la estructura EVENTLIST en lugar de modificar el archivo de texto e importarlo.

    Nuestro último paso será verificar que tenemos el número actual de ocurrencias de cada código de evento. Como se muestra en la Tabla 2.1, debería haber habido 30 ocurrencias de cada uno de los códigos de eventos de estímulo. El número de ocurrencias de cada código de evento de respuesta varía según los temas dependiendo del número de errores. Sin embargo, hubo 120 ensayos, por lo que debería haber 120 códigos de eventos de respuesta total (más los dos al inicio durante la fase de instrucción).

    Para ver el número de ocurrencias, seleccione EEGLAB > ERPLAB > EventList > Resumir los códigos de eventos EEG actuales. Se trazará una tabla en la ventana de comandos de Matlab. ¿Tenemos el número correcto de ocurrencias de cada tipo de código de evento? ¿En qué proporción de ensayos hizo esta participante una respuesta correcta?

    Consejo profesional: Verificando el número de códigos de eventos para cada participante

    En mi experiencia, el error más común en los experimentos ERP es que hay algún tipo de problema con los códigos de eventos. Si estás diseñando y ejecutando tus propios experimentos, quizás lo más importante que puedes hacer para evitar problemas más adelante es asegurarte de que los códigos de tus eventos sean correctos. Un experimento dado podría tener más de 1000 códigos de eventos, por lo que es difícil verificar cada uno de ellos. Sin embargo, si configuras tu experimento correctamente, al menos puedes asegurarte de tener el número correcto de ocurrencias de cada código de evento (para los estímulos).

    El primer paso es saber exactamente cuántas ocurrencias debe haber para cada código. Y me refiero a “exactamente” en lugar de “aproximadamente”. Puedes tener problemas importantes con tus códigos de eventos y terminar con aproximadamente el número correcto. Entonces simplemente puedes ejecutar tu programa de presentación de estímulos mientras grabas el EEG pero sin un participante. Luego importará sus datos a EEGLAB, agregará EventList y verificará el número de ocurrencias de cada código de evento usando EEGLAB > ERPLAB > EventList > Resumir los códigos de eventos EEG actuales. También debe “verificar al contado” algunas docenas de códigos de eventos seleccionados al azar para asegurarse de que sean correctos con respecto al estímulo que realmente se presentó.

    También debes verificar el número de ocurrencias de cada código de evento para cada participante que ejecutes (inmediatamente después de la sesión de grabación). Muchas cosas pueden salir mal con los códigos de eventos, y esto te permitirá detectar un problema antes de que hayas perdido semanas de tiempo recopilando datos que resultan ser inútiles. Verificar el número de cada código de evento es fácil, y absolutamente debes hacerlo para evitar problemas.


    This page titled 2.5: Ejercicio- Crear una Lista de Eventos is shared under a CC BY 4.0 license and was authored, remixed, and/or curated by Steven J Luck directly on the LibreTexts platform.