You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MATLAB中重塑EEG相对功率表格:实现单被试单行数据

解决方法

你之前的unstack参数完全用反了,而且没处理多频段的合并问题,正确步骤如下:

假设你的原始表格RelativePowerResults包含这些列:ID(被试ID)、Electrode(电极名称,如F7)、RelativeDelta、RelativeAlpha、RelativeTheta、RelativeBeta、RelativeGamma(各频段相对功率)。

步骤1:将多频段列转为长格式

先把宽格式的频段列堆叠成键-值对的长格式:

% 定义所有频段列的名称
band_columns = {'RelativeDelta', 'RelativeAlpha', 'RelativeTheta', 'RelativeBeta', 'RelativeGamma'};
% 堆叠生成长格式表格
T_long = stack(RelativePowerResults, band_columns, ...
    'NewDataVariableName', 'PowerValue', ...
    'IndexVariableName', 'Band');

执行后,T_long会有ID、Electrode、Band、PowerValue四列,每一行对应一个被试+电极+频段的功率数据。

步骤2:合并电极与频段为新列名

把电极名和频段名拼接成目标格式的列名:

T_long.ElectrodeBand = strcat(T_long.Electrode, '.', T_long.Band);

步骤3:unstack生成宽格式表格

按被试ID分组,将ElectrodeBand作为新列名,PowerValue作为对应值:

RelativePowerWide = unstack(T_long, 'PowerValue', 'ElectrodeBand', 'GroupingVariables', 'ID');

执行后,RelativePowerWide就是每个被试占一行的表格,列名如F7.RelativeAlpha、Fp1.RelativeDelta等。


内容的提问来源于stack exchange,提问作者user29403543

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 15:54:58