[FieldTrip] cfgs for paired t-test and monte carlo testing

Julian Wang julian.wang at ucl.ac.uk
Sun Nov 6 21:05:49 CET 2011


Even in your unsure state, you seem to have all the answers! Removing the quotes made it work perfectly.

 

Again, thank you so much for your help.

 

Kind regards,

 

Julian

 

From: fieldtrip-bounces at donders.ru.nl [mailto:fieldtrip-bounces at donders.ru.nl] On Behalf Of Rojas, Don
Sent: 06 November 2011 07:17 PM
To: Email discussion list for the FieldTrip project
Subject: Re: [FieldTrip] cfgs for paired t-test and monte carlo testing

 

I'm not sure about this error but numrandomization should be a number not a string (i.e., not in quotes).

Sent from my iPad


On Nov 6, 2011, at 11:19 AM, "Julian Wang" <julian.wang at ucl.ac.uk> wrote:

Dear Don, 

 

Thanks very much for your reply, your solution worked perfectly. I was wondering if you could help me on another problem I’m having. I’m trying to now run a multiple comparison corrected monte carlo test on the same dataset, using the following settings and with your design matrix:

 

cfg.method = 'triangulation';

cfg.layout = 'C:\Program Files\MATLAB\R2011a\toolbox\fieldtrip\template\layout\biosemi64.lay';

neighbours = ft_prepare_neighbours(cfg);

 

cfg.channel = 'EEG';

cfg.latency = [0 0.8];

cfg.avgoverchan = 'no';

cfg.avgovertime = 'no';

cfg.parameter = 'individual';

cfg.method = 'montecarlo';

cfg.statistic = 'depsamplesT';

cfg.alpha = 0.05;

cfg.clusteralpha = 0.05;

cfg.feedback  = 'gui';

cfg.numrandomization = '1000';

cfg.correctm = 'cluster';

cfg.correcttail = 'prob';

cfg.minnbchan = 2;

cfg.neighbours = neighbours;

cfg.clusterstatistic = 'maxsum';

 

but it’s coming up with this error and I’m not sure why

Error in ==> fieldtrip\private\resampledesign at 69

ft_checkopt(cfg, 'ivar', {'numericscalar', 'numericvector', 'empty'});

 

??? Output argument "resample" (and maybe others) not assigned during call to "C:\Program

Files\MATLAB\R2011a\toolbox\fieldtrip\private\resampledesign.m>resampledesign".

 

Error in ==> statistics_montecarlo at 193

resample = resampledesign(cfg, design);

 

Error in ==> statistics_wrapper at 290

    [stat, cfg] = statmethod(cfg, dat, design, 'issource',issource);

 

Error in ==> ft_timelockstatistics at 128

[stat, cfg] = statistics_wrapper(cfg, varargin{:});

 

At first I thought it might have something to do with design matrix, so I went through the help manual for cluster based permutation tests on event related fields and copied their design matrix (below), but it still comes up with the same error. 

 

Nsub = 16;

cfg.design(1,1:2*Nsub) = [ones(1,Nsub) 2*ones(1,Nsub)];

cfg.design(2,1:2*Nsub) = [1:Nsub 1:Nsub];

cfg.ivar = 1;

cfg.uvar = 2;

 

Again, any help would be greatly appreciated.

 

Kind regards,

 

Julian

 

 

From: fieldtrip-bounces at donders.ru.nl [mailto:fieldtrip-bounces at donders.ru.nl] On Behalf Of Rojas, Don
Sent: 27 October 2011 06:59 PM
To: Email discussion list for the FieldTrip project
Subject: Re: [FieldTrip] cfgs for paired t-test and monte carlo testing

 

Julian,

 

Others can correct me if I'm wrong, but yes, I think you only need 1 row for a paired t-test in your design using the ttest2 function. So, if you have 2 conditions and 16 subjects, then your design specification is fine. For the same type of analysis, using method= 'montecarlo', your design should be something like:

 

[1:16 1:16; ones(1,16) ones(1,16)*2]

 

You'd need to specify ivar = 2 (i.e., row 1 in your design) and uvar = 1 for that design and a cfg.statistic = 'depsamplesT'. Wvar and Cvar don't need to be specified.

 

Best,

 

Don

-----------------------
Don Rojas, Ph.D.
Associate Professor of Psychiatry
U. of Colorado Denver Anschutz Medical Campus
Director, UCD Magnetoencephalography Lab
13001 E. 17th Pl F546
Aurora, CO 80045 USA

 

 

On Oct 27, 2011, at 8:34 AM, Julian Wang wrote:






Hi all,

 

I’m trying to run a paired t-test on a set of data that have been converted from SPM format using the function fttimelock, but I’m not sure if I’ve got the settings correct for it. The data consists of 16 subjects in a within-subject design with 2 conditions, from the help manual, I assumed that cfg.design should be:

[ones(1,16),ones(1,16)*2; 1:16, 1:16]

 

With the rest of the code being:

cfg.method = 'stats';

cfg.alpha     = 0.05;

cfg.tail      = 0;

cfg.feedback  = 'gui';

cfg.statistic = 'ttest2';

cfg.ivar = 1;

cfg.uvar = 2;

 

stats = ft_timelockstatistics(cfg,Subjects(1).timelockIllusory, Subjects(2).timelockIllusory,...

    Subjects(3).timelockIllusory, Subjects(4).timelockIllusory,...

    Subjects(5).timelockIllusory, Subjects(6).timelockIllusory,...

    Subjects(7).timelockIllusory, Subjects(8).timelockIllusory,...

    Subjects(9).timelockIllusory, Subjects(10).timelockIllusory,...

    Subjects(11).timelockIllusory, Subjects(12).timelockIllusory,...

    Subjects(13).timelockIllusory, Subjects(14).timelockIllusory,...

    Subjects(15).timelockIllusory, Subjects(16).timelockIllusory,...

    Subjects(1).timelockControl, Subjects(2).timelockControl,...

    Subjects(3).timelockControl, Subjects(4).timelockControl,...

    Subjects(5).timelockControl, Subjects(6).timelockControl,...

    Subjects(7).timelockControl, Subjects(8).timelockControl,...

    Subjects(9).timelockControl, Subjects(10).timelockControl,...

    Subjects(11).timelockControl, Subjects(12).timelockControl,...

    Subjects(13).timelockControl, Subjects(14).timelockControl,...

    Subjects(15).timelockControl, Subjects(16).timelockControl);

 

 

But if I run it, it comes up with an error saying that it’s only expecting one row in the design matrix. If it’s run with the design matrix just being [ones(1,16),ones(1,16)*2]

Then it runs fine and the result does look correct, but I’m not sure if it is. Is what I’ve done a paired t-test? Or is it running an unpaired t-test?

 

Also when running it through using the monte carlo method, I’m uncertain as to what values cfg.ivar, cfg.uvar, cfg.wvar and cfg.cvar should be, at the moment I’m using:

cfg.method = 'montecarlo';

cfg.design = [ones(1,16),ones(1,16)*2];

cfg.alpha     = 0.05;

cfg.tail      = 0;

cfg.feedback  = 'gui';

cfg.statistic = 'depsamplesT';

cfg.ivar = 1;

cfg.uvar = 2;

cfg.wvar = 2;

cfg.numrandomization = 'all';

 

 

but it keeps coming up with the following error:

??? Index exceeds matrix dimensions.

 

Error in ==> resampledesign at 103

  blkmeas = unique(design(cfg.wvar,:)', 'rows')';

 

Error in ==> statistics_montecarlo at 187

resample = resampledesign(cfg, design);

 

Error in ==> statistics_wrapper at 290

    [stat, cfg] = statmethod(cfg, dat, design, 'issource',issource);

 

Error in ==> ft_timelockstatistics at 124

[stat, cfg] = statistics_wrapper(cfg, varargin{:});

 

What am I doing wrong here?

 

Any help would be greatly appreciated.

 

Kind regards,

 

Julian

_______________________________________________
fieldtrip mailing list
fieldtrip at donders.ru.nl
http://mailman.science.ru.nl/mailman/listinfo/fieldtrip

 

 

_______________________________________________
fieldtrip mailing list
fieldtrip at donders.ru.nl
http://mailman.science.ru.nl/mailman/listinfo/fieldtrip

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20111106/a206391f/attachment.html>


More information about the fieldtrip mailing list