matlab 数据透视表,MATLAB | 用行为数据处理EEG数据事件码

209132905_3_20201205104000900

脑电图(Electroencephalogram,EEG)是通过精密的电子仪器,从头皮上将脑部的自发性生物电位加以放大记录而获得的图形,同时具有极高的时间分辨率。EEGLAB和ERPLAB常被用来处理脑电数据,因其操作方便且免费。

用EEGLAB和ERPLAB提取ERP成分的同学都知道,Extract epochs或Extract bin-based epochs的方法可以锁定感兴趣的事件诱发的时刻,对后续进行ICA分析、叠加平均有利。但它对事件码的依赖很高。比如关键的事件码丢失了,将无法识别潜在的有效的试次,会影响叠加平均的有效试次数,降低信噪比。不愿透露姓名的线轻收集了一个被试的任务态脑电数据,预处理时发现某类事件码丢失了1/6(300余个码)。丢码可能导致数据质量(信噪比)下降,让人难以忍受,尽管它不足以使整个数据无效。早前听说了融合行为数据处理事件码,但没有真正实践过,不知效果如何。为了“拯救”自己的第一个脑电数据,我开始摸索这种方法,结果收获蛮多的,下面跟大家分享一下这个过程。1.检查事件码是否丢失首先,利用EEGLAB将数据文件导入MATLAB,得到图1内容。在EEGLAB界面可以看到这段脑电数据的基本信息,由于我已经知道这些信息来自MATLAB中暂存的数据,所以我在右边的工作区的EEG中寻找它其他的详细信息。209132905_4_20201205104001165图1:将EEG数据导入MATLAB1.1.查看EEG数据内容从图1可以看出EEG是个1×1struct(结构体),别看只是1×1,它包含了大量的数据。细心的同学会发现这些字段大多是空值[](图2),它们大概是为EEGLAB后续分析EEG数据而存在的,我们暂时可以不用管它们的含义。

209132905_5_20201205104001384图2:EEG数据

209132905_6_20201205104001587图3:存放电压幅值、时间戳和事件码的字段在非空的字段里,我们可以看到times和data含有大量的数据。从名字和数据的长度来看,它们分别是EEG记录的时间长度和在各个电极点对应的电压幅值。1.2.查看与事件码相关的字段接下来可以看到event和urevent,它们是结构体。双击event可以发现它存放了3列信息(图4):事件码(type)、对应的潜伏期(latency,它表示该事件码发生时,距脑电系统开始记录脑电幅值的时间长度,单位是毫秒)和序号(urevent)。209132905_7_20201205104001884图4:EEG.event时间精确到毫秒级是脑电数据的核心特点之一,所以EEG.event是脑电数据里非常重要的数据。EEG.event的数据可直接复制到EXCEL,然后用数据透视表的方式计算每类事件的次数。下图(5)展示了记录到的事件次数和实验事先设定好的次数。209132905_8_2020120510400240图5:记录到的事件数和事先设定的事件数比较经过比较发现,322个事件码{1}丢失了࿰

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值