[FieldTrip] Using ft_statfun_correlationT rho output in group level analysis: One-sample test

Laura laura.globig at gmail.com
Wed Oct 13 13:03:05 CEST 2021


 Dear All

My question is two-fold and relates to *ft_statfun_correlationT* as
implemented in *ft_timelockstatistics* and subsequent *group-level analysis*.
Apologies for the long post- I am trying to include all the information
necessary.

*1) *I first want to correlate a behavioral measure (1 value per trial)
with my timelocked data (segmented into individual trials). I repeat this
for each subject - thus obtaining a matrix of rho [number of sensors*length
of trial] for each subject.
*Code for single subject correlation:*

*cfg = [];cfg.continuous   = 'no';*





*cfg.latency     = [0 0.55];cfg.parameter   = 'trial';cfg.avgoverchan =
'no';cfg.statistic        = 'ft_statfun_correlationT';cfg.method
= 'montecarlo';cfg.numrandomization = 1000;*

*cfg.design           = design_matrix;cfg.ivar             = 1;*
* [stat] = ft_timelockstatistics(cfg, SubjectData);*

Data is then stored* in the following structure*
AllSubj_stat_correlationMeasureA{1,SubjectNumber} = stat;

My understanding is that here I don't need to correct for multiple
comparison as I enter the results into group-level analysis - where I
correct for multiple comparison later on?

*2)* I then take the rho matrices and enter them into second-level
(group-level) analysis - where
*a)* I want to use a paired-samples t-test comparing the rho's from this
correlation analysis to another (same structure just a different behavioral
measure) to see at which timepoints and what sensors/clusters either is
stronger or weaker than the other. I have implemented this using a
cluster-based permutation test.
*Code for clusterbased permutation test:*
cfg = [];
cfg.channel     = {'MEG'};
cfg.latency     = [0.0 0.55];
cfg.avgovertime = 'no';
cfg.parameter   = 'rho';
cfg.method      = 'montecarlo';
cfg.statistic   = 'ft_statfun_depsamplesT';
cfg.correctm    = 'cluster';
cfg.clusteralpha     = 0.05;
cfg.clusterstatistic = 'maxsum';
cfg.neighbours  = neighbours; % defined as above
cfg.minnbchan        = 2;
cfg.tail             = 0;
cfg.clustertail      = 0;
cfg.alpha       = 0.05;
cfg.numrandomization = 1000;
Nsub = 27;
design = zeros(2, Nsub*2);
design(1,:) = [1:Nsub 1:Nsub];
design(2,:) = [ones(1,Nsub) ones(1,Nsub)*2];
cfg.design = design;
cfg.ivar                = 2;
cfg.uvar                = 1;

[stat] = ft_timelockstatistics(cfg,  AllSubj_stat_correlationMeasureA {:},
AllSubj_stat_correlationMeasureB {:})

*b)* I would also like to test whether there is a significant correlation
across subjects. My instinct is to do this using a one-sample t-test (see
code below - not yet correcting for multiple comparisons but I guess I
could just implement Bonferroni?). But ideally I would like to use a
non-parametric approach that is equivalent to the cluster-based permutation
test used in a.
I know that this is not possible as such (as explained by Eric here
https://mailman.science.ru.nl/pipermail/fieldtrip/2018-August/038192.html
) *but
is there an equivalent I could use or what would be the appropriate test to
do this? *

*Code for One-sample t-test:*
cfg = [];
cfg.alpha     = 0.05;
cfg.tail = 0
cfg.parameter   = 'rho';
cfg.method    = 'stats';
cfg.statistic = 'ttest';  %test against a mean of zero
Nsub = 27;
cfg.design(1,1:Nsub)  = [ones(1,Nsub)];
cfg.ivar                = 1;
cfg.uvar                = 27;
[stat]= ft_timelockstatistics(cfg,  AllSubj_stat_correlationMeasureA {:})

I'd be grateful for any guidance or pointers in the right direction about
my analysis process.

Best,

Laura
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20211013/8692d67d/attachment.htm>


More information about the fieldtrip mailing list