[FieldTrip] between-groups cluster stats

Stephen Whitmarsh stephen.whitmarsh at gmail.com
Wed May 16 15:36:57 CEST 2012

Dear Nuria,

I don't see anything wrong with your design, its just the 1's and 2's
I would expect.
(although: design = [ones(1,size(g1.individual,1))
ones(1,size(g1.individual,1))*2]; would be a bit shorter ;-)

Two points though:
1) Statistics don't neccecarily make sense looking only at means (or
mean differences), since it depends on the variance of the data as
well. Take a look at the .stat field to get a sense of how the
time-by-time and sensor-by-sensor statistics are corresponding to the
clusters, as well as to your mean-differences. You can also plot these
values topographically to see if they make sense.
2) I would not start with clustercorrection as a first step in
appreciating your effects, especially when it comes to possibly noisy
intermediate data such as your within subject data. Clustercorrection
is meant as a means to deal with multiple comparison corrections,
nothing more nothing less. For a first look at significant differences
per sensor I would not specify a .correctm at all. Going from there,
and to group level, the clusters might start to make more sense

Good luck!

On 16 May 2012 13:49, Nuria Doñamayor Alonso
<nuria.donamayor at neuro.uni-luebeck.de> wrote:
> Dear fieldtrip users,
> I am currently analyzing data from a between-groups study and I am having some trouble programming the stats... Data are from a neuromag 306 system and I am using grand averages (keepindividual = yes) of the combined planar gradiometer data. I have followed the fieldtrip tutorial on cluster-based permutation tests on ERFs, so my script currently looks like this:
> cfg = [];
> cfg.latency = [0 .5];
> cfg.method = 'montecarlo';
> cfg.statistic = 'indepsamplesT';
> cfg.correctm = 'cluster';
> cfg.clusteralpha = 0.05;
> cfg.clusterstatistic = 'maxsum';
> cfg.minnbchan = 3;
> cfg.neighbours = neighbours;
> cfg.tail = 0;
> cfg.clustertail = 0;
> cfg.numrandomization = 500;
> design = zeros(1,(size(g1.individual,1)+size(g2.individual,1)));
> design(1,1:size(g1.individual,1)) = 1;
> design(1,(size(g1.individual,1)+1):(size(g1.individual,1)+size(g2.individual,1))) = 2;
> cfg.design = design;
> cfg.ivar  = 1;
> [stat] = ft_timelockstatistics(cfg, g1, g2);
> Still, though the script works, creates one or two clusters and produces no error, the output makes no sense. For example, there is a pretty huge difference in the ERFs between around 50-150 ms, but the output only shows a couple of sensors forming a cluster at 32 ms. Up to now, I had just performed within-subjects stats, so I guess there is probably something wrong in my design... I would be very thankful to any help!
> Thanks,
> Nuria
> _______________________________________________
> fieldtrip mailing list
> fieldtrip at donders.ru.nl
> http://mailman.science.ru.nl/mailman/listinfo/fieldtrip

More information about the fieldtrip mailing list