[FieldTrip] Cluster based permutation plot
Luca Moretti
luca-moretti at hotmail.it
Tue Aug 13 11:37:15 CEST 2019
Dear all,
I am having some problems with plotting the results of a cluster based permutation test.
I am running a within subjects’ experiment with 8 conditions combined in a 2X2X2 design. Theta and Alpha power are used as dependent variables. I would like to test some main effects and interactions, but first of all I have tried to compare two conditions ignoring the others (just as a practice before combining the conditions for a more theoreticaly relevant comparison).
To this aim, I have created a cell array in which I have stored the normalized frequency power for each of the 20 participants. In this way I get a cell array with 8 conditions, each containing 20 cells (one per participant).
Here is what I did:
cfg = [];
cfg.layout=layout;
cfg.method = 'template';
cfg.template = 'C:\Fieldtrip\template\neighbours\easycapM1_neighb.mat';
cfg.feedback = 'yes';
cfg.elecfile = 'C:\Fieldtrip\template\electrode\easycap-M1.txt';
neighbours = ft_prepare_neighbours(cfg);
subj = 20;
design = zeros(2,2*subj);
for i = 1:subj
design(1,i) = i;
end
for i = 1:subj
design(1,subj+i) = i;
end
design(2,1:subj) = 1;
design(2,subj+1:2*subj) = 2;
cfg = [];
cfg.channel = {'all'};
cfg.frequency = [4 12];
cfg.latency = [0 1.5];
cfg.method = 'montecarlo';
cfg.statistic = 'depsamplesT';
cfg.correctm = 'cluster';
cfg.clusteralpha = 0.05;
cfg.clusterstatistic = 'maxsum';
cfg.minnbchan = 2;
cfg.tail = 0;
cfg.clustertail = 0;
cfg.alpha = 0.05;
cfg.numrandomization = 500;
cfg.design = design;
cfg.ivar = 2;
cfg.uvar = 1;
cfg.neighbours = neighbours;
stat1 = ft_freqstatistics(cfg, normalized{1,1}{:}, normalized{1,2}{:});
So far so good. Following the online tutorial I have tried to execute the following code:
sigposmask = (stat1.posclusterslabelmat==1) & stat1.mask;
signegmask = (stat1.negclusterslabelmat==1) & stat1.mask;
cfg = [];
cfg.frequency = [4 12];
cfg.avgoverrpt = 'yes';
cfg.parameter = {'powspctrm','powspctrm_b'};
WDW_avg = ft_selectdata(cfg, normalized{1,1}{:});
CDW_avg = ft_selectdata(cfg, normalized{1,2}{:});
WDW_avg.mask = signegmask;
CDW_avg.mask = signegmask;
cfg = [];
cfg.elec = elec;
cfg.colorbar = 'no';
cfg.maskparameter = 'mask'; % use the thresholded probability to mask the data
cfg.maskstyle = 'box';
cfg.parameter = 'powspctrm_b';
cfg.maskfacealpha = 0.5;
figure; ft_multiplotER(cfg, WDW_avg, CDW_avg);
However, when I try to run the line:
WDW_avg = ft_selectdata(cfg, normalized{1,1}{:});
there are no repetitions, so averaging is not possible
I have therefore tried to remove the {:}, but still:
WDW_avg = ft_selectdata(cfg, normalized{1,1};
Invalid input argument of type 'cell'. Input must be a structure or a Java or COM object
I do understand the errors, but I don’t see how the data should have been stored if not in a cell array. Can someone help?
Thank you in advance,
Luca
Inviato da Posta<https://go.microsoft.com/fwlink/?LinkId=550986> per Windows 10
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20190813/ee8d2e33/attachment.html>
More information about the fieldtrip
mailing list