[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