-----Original Message-----
From: Marianne DEBUE [mailto:marianne.debue at mnhn.fr]
Sent: Friday, 19 February, 2021 10:02
To: Viechtbauer, Wolfgang (SP)
Cc: r-sig-meta-analysis
Subject: Re: multi-level, multiple timepoint model
Dear Wolfgang,
Thank you for your answer and ideas.
I tried some of your propositions and obtained sometimes quite different results
from my first model so I will have to think about it.
But something like random = list(~ Timepoint | Species, ~ 1 | ID_study),
struct="CAR" seems to be a good compromise to take into account the spatial
correlation and temporal correlation at the species level, instead of taking into
account the temporal correlation at the study level as I did first.
Just one last question: when I applied your models, depending on the moderator I
choose, I sometimes have a convergence problem, which is solved by switching to
'optim' for the optimizer and using either the 'BFGS' or 'Nelder-Mead' methods as
you suggested elsewhere. But I was wondering what the cause of this is. Can it be
due to a lack of data ?
I indeed don't have many studies (18) but as I have data for different species and
different time points in each study, I still have more than 300 effect sizes (but
more effect sizes are related one population level (no convergence problem) than
to a species level (convergence problem)).
Regards,
Marianne
----- Mail original -----
De: "Wolfgang Viechtbauer, SP" <wolfgang.viechtbauer at maastrichtuniversity.nl>
?: "Marianne DEBUE" <marianne.debue at mnhn.fr>, "r-sig-meta-analysis" <r-sig-meta-
analysis at r-project.org>
Envoy?: Jeudi 18 F?vrier 2021 10:47:58
Objet: RE: multi-level, multiple timepoint model
Dear Marianne,
Let me just preface my response by saying that with this level of complexity,
giving advice is very difficult. In cases like this, it could easily take me days
to decide on an appropriate modeling approach, possibly testing out ideas in
simulated data after lengthy discussions about the data structure, design of the
studies, information reported, research hypotheses, etc. etc. with the primary
investigator. You also write that you don't have a high number of studies, so
trying to fit whatever model I might propose could be pointless.
This aside, and without knowing more about the details, I would consider adding
the autocorrelated random effects at the lowest level where there are actually
repeated observations (which is the species level). So that would imply:
random = ~ Timepoint | Species, struct="CAR"
To account for heterogeneity due to the multilevel structure, I would consider
adding random effects for studies and population within studies as well:
random = list(~ Timepoint | Species, ~ 1 | ID_study/Population), struct="CAR"
Not sure to what extent one can add further random effects at the species and
effect size. So, one could even consider models such as:
random = list(~ Timepoint | Species, ~ 1 | ID_study/Population/Species),
struct="CAR"
random = list(~ Timepoint | Species, ~ 1 | ID_study/Population/Species/Timepoint),
struct="CAR"
But you also have 'mods = ~ Species'. That might preclude adding random effects
for species.
One could also consider adding additional autocorrelated random effects at the
population or study levels. Given that the response of species to the treatment
might be more similar for species that are phylogenetically more related to each
other, one could also consider adding phylogenetically correlated random effects
for species to the model.
I'll stop here. At least I hope to have given you some ideas.
Best,
Wolfgang
-----Original Message-----
From: R-sig-meta-analysis [mailto:r-sig-meta-analysis-bounces at r-project.org] On
Behalf Of Marianne DEBUE
Sent: Thursday, 18 February, 2021 9:29
To: r-sig-meta-analysis
Subject: [R-meta] multi-level, multiple timepoint model
Hi everyone,
I am conducting a meta-analysis in ecology. I am confronted to several
dependencies and I am not sure how to write the model.
I have several studies, each corresponding to a specific study site.
The studies can concern one or several populations (bird, fish, vegetation,
crustacean).
In each study, I have measures of abundance of the different species seen in the
site at different timepoints.
Species, Populations and Timepoints can be common or different between studies.
So I have this type of structure :
T=0 T=1 T=2
Study 1 _ Population 1 _ Species 1.1 x x x
Species 1.2 x x x
Species 1.3 x x x
Population 2 _ Species 2.1 x x
Species 2.2 x x
Species 2.3 x x
Study 2 _ Population 1 _ Species 1.1 x x
Species 1.4 x x
Species 1.5 x x
Population 3 _ Species 3.1 x x
Species 3.2 x x
Species 2.3 x x
The effect size is a standardized mean difference between pre- and post-
intervention.
I don't know the correlation between the different timepoints.
1. I first wrote this model :
res=rma.mv(ES, V, mods= ~ Species, random = ~Timepoint|ID_study,struct="CAR",
data=data)
But I was wondering if a Species-level is not lacking ?
The ID_study allows me to take into account the spatial correlation between all
the species of a same site but shouldn't the temporal correlation be linked to
each species ?
2. Is the following model a better approach ? Am I not losing the advantage of
"struct="CAR"" argument ?
res=rma.mv(ES, V, mods= ~ Species, random =
~1|ID_study/Species/Timepoint,data=data)
coef_test(res,vcov="CR2") #I am using the clubSandwich package as I don't have a
high number of studies
3. And last question: is it better to make a meta-analysis per population or to
keep all the population in one meta-analysis ?
Thank you for you help
Marianne