I would like to measure the effect on age on a longitudinal fMRI resting-state dataset (4 repeated measures at a different age) with covariate such has gender.

I already performed the seed base analysis on each subject and now I want to regress the age on each statistical maps in order to observe the age related variation of the DMN connectivity (with gender as a covariate).

So my question is what is the best way to analyze this longitudinal dataset? Is there an example somewhere that could help me to analyze this data?

Were all subjects measured at the same 4 ages? In addition to the two explanatory variables of age and gender, what else are you considering: the four time points? Which effect is of interest?

Hi Gang,
Thank for your answer!
The subjects were not measured exactly at the same age but within the same session. The effect of interest is the age and I am looking to observe a correlation with the modification of the connectivity strength. As an example, I previously did an extraction of the ALLF signal with an atlas and then calculated the Repeated measures correlation coefficient within each cerebral region. https://pingouin-stats.org/generated/pingouin.rm_corr.html#pingouin.rm_corr
I don’t know what is the best way to do it for a voxel-wise approach. For now, I had only one explanatory variable but finding a test that could allow me to add some if needed or to change the effect of interest (I will have behavioral and other biological data) would be great.
Thank you so much for your help!
Clément

3dLME -prefix 3dLME_.nii.gz -jobs 8 \
-model "gender*age" \
-qVars "age" \
-ranEff '~1+age' \
-dataTable
Subj age Sexe InputFile
Oliver 1128.0 M /Oliver2019_02_02_ztest.nii.gz \
Oliver 1247.0 M Oliver2019_06_01_ztest.nii.gz \
Oliver 1353.0 M Oliver2019_09_15_ztest.nii.gz \
Oliver 1437.0 M Oliver2019_12_08_ztest.nii.gz \
Pickle 1065.0 M Pickle2019_02_02_ztest.nii.gz \
Pickle 1184.0 M Pickle2019_06_01_ztest.nii.gz \
Pickle 1289.0 M Pickle2019_09_14_ztest.nii.gz \
Pickle 1375.0 M Pickle2019_12_09_ztest.nii.gz \
...

and I obtain for

3dinfo 3dLME_.nii.gz

Number of values stored at each pixel = 4
– At sub-brick #0 ‘(Intercept) F’ datum type is float
statcode = fift; statpar = 1 22
– At sub-brick #1 ‘gender F’ datum type is float
statcode = fift; statpar = 1 6
– At sub-brick #2 ‘age F’ datum type is float
statcode = fift; statpar = 1 22
– At sub-brick #3 ‘gender:age F’ datum type is float
statcode = fift; statpar = 1 22

Few last basic questions (sorry it is the first time that I use statistical commands with AFNI):

Intercept is like a one-sample t-test? It is the total group effect? basically do my network exist on a group basis?

I guess that my contrast of interest is ‘gender:age F’??
However, I do not have an equal distribution between male (n=6) and female (n=2) is it a problem? Because it seems that I have way more contrast on ‘age F’ alone that on ‘gender:age F’. Even if the contrast for ‘gender F’ is weak.

-Finally, if I want to convert the F stat into z values the command would be?

3dcalc -a 3dLME_.nii.gz'[3]' -expr 'fift_t2z(a, 1, 22)' -prefix 3dLME_z.nii.gz

Intercept is like a one-sample t-test? It is the total group effect? basically do my network exist on a group basis?

Yes, you can add an option

-gltCode ‘gender : 0.5M +0.5F’

to obtain the directionality of the population-level effect.

I guess that my contrast of interest is ‘gender:age F’?? However, I do not have an equal distribution between male (n=6)
and female (n=2) is it a problem? Because it seems that I have way more contrast on ‘age F’ alone that on ‘gender:age F’.
Even if the contrast for ‘gender F’ is weak.

The issue is not really about the unbalanced situation between the two genders, but about the meager number of samples in each gender. You may consider more specific inferences such as

-gltCode ‘gender : 0.5M +0.5F age :’
-gltCode ‘gender : 1M -1F age :’
-gltCode ‘gender : 1M age :’
-gltCode 'gender : 1F age :’

Finally, if I want to convert the F stat into z values the command would be?

Don’t do the F-to-Z conversion. Instead, rely on those post hoc inferences listed above.

Sorry to ask again some “basic questions” but I am a little bit confused with the output and the different weight:

Tell me if I am correct:
For LME, the conditional distribution of the response is assumed to be normal.
For GLM, you can specify other distributions.
However, I am not sure of the difference between:
“0.5M +0.5F ag” and “1M -1F age”?
Why 0.5? Why 1?

I am not sure of the meaning of the first sub-bricks for each glt:
– At sub-brick #4 ‘05MF’ datum type is float
– At sub-brick #5 ‘05MF Z’ datum type is float

I assumed that the second is the z-score.
Then, I should work on the z-score for clustering and mutli- comparison correction?

Finally, base on the results of the analysis I should choose “manually” what is the best distribution?
“0.5M +0.5F ag” and “1M -1F age”, only F or M?

Weirdly, I find, for example, a positive z-score in one of the regions of interest with “0.5M +0.5F age”, “1F” and “1M”.
And a negative z-score “1M -1F age”
Does it sound normal?

For LME, the conditional distribution of the response is assumed to be normal.

Right.

“0.5M +0.5F ag” and “1M -1F age”? Why 0.5? Why 1?

Actually it’s the same as

“age :”

which is the overall age effect (averaging across the two genders).

I am not sure of the meaning of the first sub-bricks for each glt:
– At sub-brick #4 ‘05MF’ datum type is float
– At sub-brick #5 ‘05MF Z’ datum type is float

The sub-brick #4 is the age effect while #5 is the statistical evidence for age effect.

I assumed that the second is the z-score. Then, I should work on the z-score for clustering and mutli- comparison correction?

It’s Z-statistic, not Z-score. Yes, you can use the Z-statistic as statistical evidence.

Finally, base on the results of the analysis I should choose “manually” what is the best distribution?
“0.5M +0.5F ag” and “1M -1F age”, only F or M?

It’s the overall age effect for both genders.

Weirdly, I find, for example, a positive z-score in one of the regions of interest with “0.5M +0.5F age”, “1F” and “1M”.
And a negative z-score “1M -1F age”
Does it sound normal?

Nothing abnormal here because “1M -1F age” is the age effect difference between the two genders.

Subj age Sexe InputFile
Oliver 1128.0 M Oliver2019_02_02_correlations_fish.nii.gz
Oliver 1247.0 M Oliver2019_06_01_correlations_fish.nii.gz
Pickle 1065.0 M Pickle2019_02_02_correlations_fish.nii.gz
Pickle 1184.0 M Pickle2019_06_01_correlations_fish.nii.gz
etc...

Here is the subrick obtained with the previous script after “3dinfo -verb”

-- At sub-brick #0 '(Intercept) F' datum type is float
statcode = fift; statpar = 1 53
-- At sub-brick #1 'Sexe F' datum type is float
statcode = fift; statpar = 1 6
-- At sub-brick #2 'age F' datum type is float
statcode = fift; statpar = 1 53
-- At sub-brick #3 'Sexe:age F' datum type is float
statcode = fift; statpar = 1 53
-- At sub-brick #4 '05MF' datum type is float
-- At sub-brick #5 '05MF Z' datum type is float
statcode = fizt
-- At sub-brick #6 '1MF' datum type is float
-- At sub-brick #7 '1MF Z' datum type is float
statcode = fizt
-- At sub-brick #8 '1MF' datum type is float
-- At sub-brick #9 '1MF Z' datum type is float
statcode = fizt
-- At sub-brick #10 '1F' datum type is float
-- At sub-brick #11 '1F Z' datum type is float
statcode = fizt

sub-brick 4, 6, 8, 10 are empty, is there a problem with “Sexe”? Am I supposed to use 0 and 1?

Just to be 100% sure, if I want to measure the overall age effect controlling for gender I just have to use subrick 4 and 5?
and then apply:
3dFWHMx
and
3dClustSim

In what sense those 4 sub-bricks are empty? All zeros in the brain? Are sub-bricks 5, 7, 9 and 10 fine?
== Yes, they are just filled with 0 and 5, 7, 9, 10 are fine.
Also, I have tried with other images and I have got the same result.

Ok, sry. I thought that I have done something wrong with my script but it appears that your surprise made me think that maybe it was the viewer (ITK-snap)?
And the answer is yes…
Thank you for your anwer!
Clément

Hello Gang,
Sorry to come back AGAIN with a new question.
When thinking about it (it happens sometimes =)) I realize that maybe I should add a session effect to my model.
Since all the animals were scanned on the same day it may affect the result.
However, the session is strongly linked to “age” and I don’t want to annihilate my findings by adding “session”.
What are your thoughts?
In any case, out of interest could you please confirm the way to add this effect?

Now (to see if I understood) suppose that i want to add another quantitative variable (e.g. weight) that on which I also want to see the effect I could do something like:

the session is strongly linked to “age” and I don’t want to annihilate my findings by adding “session”.

Run two different models, one with and one without session. Then compare the two results.

Your specifications of -gltLabel 5 and -gltLabel 6 are not correct. You don’t need to add anything through the glt option because those two interactions should be automatically included as F-statistics in the output.

The
National Institute of Mental Health (NIMH) is part of the National Institutes of
Health (NIH), a component of the U.S. Department of Health and Human
Services.