[R-meta] R-sig-meta-analysis Digest, Vol 89, Issue 13
St Pourcain, Beate
Be@te@StPourc@|n @end|ng |rom mp|@n|
Tue Dec 3 19:46:42 CET 2024
Dear Wolfgang,
Many thanks for your advice and sorry about the delay.
I added my answers below! Most things are sorted and clear! However, I did not follow your reply about the back-transformation of the directly estimated co/variance for fixed effects, i.e. from the rZ to the r the level, using the deltamethod. I can see how you derive the SE for the fixed effects at the back-transformed level with deltamethod, but not the variance and covariance. Could you please help here?
Many thanks,
Beate
Beate St Pourcain, PhD
Senior Investigator & Group Leader
Room A207
Max Planck Institute for Psycholinguistics | Wundtlaan 1 | 6525 XD Nijmegen | The Netherlands
@bstpourcain
Tel: +31 24 3521964
Fax: +31 24 3521213
ORCID: https://orcid.org/0000-0002-4680-3517
Web: https://www.mpi.nl/departments/language-and-genetics/projects/population-variation-and-human-communication/
Further affiliations with:
MRC Integrative Epidemiology Unit | University of Bristol | UK
Donders Institute for Brain, Cognition and Behaviour | Radboud University | The Netherlands
My working hours may not be your working hours. Please do not feel obligated to reply outside of your normal working schedule.
-----Original Message-----
From: Viechtbauer, Wolfgang (NP) <wolfgang.viechtbauer using maastrichtuniversity.nl>
Sent: Monday, November 11, 2024 4:13 PM
To: St Pourcain, Beate <Beate.StPourcain using mpi.nl>; R Special Interest Group for Meta-Analysis <r-sig-meta-analysis using r-project.org>
Subject: RE: R-sig-meta-analysis Digest, Vol 89, Issue 13
Dear Beate,
Some brief comments from my side to your questions below.
Best,
Wolfgang
> -----Original Message-----
> From: St Pourcain, Beate <Beate.StPourcain using mpi.nl>
> Sent: Tuesday, November 5, 2024 19:16
> To: Viechtbauer, Wolfgang (NP)
> <wolfgang.viechtbauer using maastrichtuniversity.nl>; R Special Interest
> Group for Meta-Analysis <r-sig-meta-analysis using r-project.org>
> Subject: RE: R-sig-meta-analysis Digest, Vol 89, Issue 13
>
> Dear Wolfgang,
> We have taken the project a few steps further now following vanhouwelingen2002.
> Thanks for all your advice! However, bivariate models have of course a
> slightly different structure compared to nested models that we usually
> use and we have transformations and multiple random effects. Thus, we
> had a few questions. We have a model like this:
>
> Study_ID: Unique ID for each independent cohort
> ESID_code: Unique ID for study-specific assessment coded as nested
> within each study (following Austerberry)
> MZDZ: MZ coded 1, DZ coded 0
> zi and vzi: Z transformed correlations and their variance
>
> model0r.mlcon <- rma.mv(
> zi,
> vzi,
> random = list(~ MZDZ_factor | Study_ID, ~ MZDZ_factor | ESID_code),
> struct="UN",
> data = data,
> mods = ~ 0 + MZDZ_factor,
> method = "ML",
> tdist = TRUE,
> cvvc="varcov",
> control=list(nearpd=TRUE))
>
> 1) We changed now from REML to ML to allow for model building with fixed
> effects. Is there any major drawback?
Unless your sample sizes are small, the difference between ML and REML should be negligible. For model selection including fixed effects, ML is the sensible choice.
R: Perfect. Thank you!
> 2) What would be the best way to estimate I2 for each MZ and DZ group using Z
> and the raw correlations? (We have an idea how to do this with nested
> models but not for bivariate models).
Maybe this is useful:
https://www.metafor-project.org/doku.php/tips:i2_multilevel_multivariate#multivariate_models
R: Very helpful, thank you!
> Also does it make sense to estimate heterogeneity in rZ as:
>
> tau_het<-round(model0r.mlcon$tau2[1] + model0r.mlcon$tau2[2] -
> 2*model0r.mlcon$rho*sqrt(model0r.mlcon$tau2[1]*model0r.mlcon$tau2[2]),
> 3)
>
> gamma_het<-round(model0r.mlcon$gamma2[1] + model0r.mlcon$gamma2[2] -
> 2*model0r.mlcon$phi*sqrt(model0r.mlcon$gamma2[1]*model0r.ml$gamma2[2])
> , 3)
>
> res_het<-tau_study + gamma_type
I can't answer that because you would first have to define what you mean by 'residual heterogeneity'.
R: We aimed to estimate the heterogeneity in rZ-scores, analogous to the bivariate example approach (but now with two random effects)
https://www.metafor-project.org/doku.php/analyses:vanhouwelingen2002
> 3) We can estimate the SE for the raw scores
> rDZse<- deltamethod(~ (exp(2*x1) - 1) / (exp(2*x1) + 1),
> coef(model0r.mlcon),
> vcov(model0r.mlcon))
> rMZse<- deltamethod(~ (exp(2*x2) - 1) / (exp(2*x2) + 1),
> coef(model0r.mlcon),
> vcov(model0r.mlcon))
> Is there an option to backtransform vcov(model0r.mlcon) from the
> modelled rZ to raw r scores? Especially we are interested in the
> covariance for raw r to derive a correlation between raw rMZ and rDZ, including SE.
The deltamethod() function from metafor can give you the full back-transformed var-cov matrix.
R: Sorry for being slow here, I do not know how to proceed. The variance covariance matrix is directly estimated and there is not transformation involved. Could you please advise
> 4) For adding further covariates as fixed effects, we were wondering how to
> best predict manually rMZ and rDZ for different levels of the
> covariate e.g. age
>
> model.age.r.mlcon <- rma.mv(
> zi,
> vzi,
> random = list(~ MZDZ_factor | Study_ID, ~ MZDZ_factor | ESID_code),
> struct="UN",
> data = data,
> mods = ~ 0 + MZDZ_factor + MZDZ_factor:I(Age -24), #age centered at 24 years
> method = "ML",
> tdist = TRUE)
> model.age.r.mlcon snippet
>
> estimate se tval df pval
> MZDZ_factor0 0.7264 0.1201 7.7141 78 <.0001
> MZDZ_factor1 1.3193 0.2464 6.1661 78 <.0001
> MZDZ_factor0:I(Age - 24) 0.0160 0.0040 4.0432 78 0.0001
> MZDZ_factor1:I(Age - 24) 0.0276 0.0038 7.2905 78 <.0001
>
> We could now predict the twin correlations at different ages using the
> predict function (and did this). However, this does not help with the
> deltamethod. Is there a more elegant way to estimate the SE?
> e.g.
> age.20 <- -4
> rDZ_20 <-(exp(2*(model.age.r.mlcon$b[1] +
> model.age.r.mlcon$b[3]*age.20)) - 1) / (exp(2*(model.age.r.mlcon$b[1]
> + model.age.r.mlcon$b[3]*age.20)) + 1)
>
> rMZ_20 <-(exp(2*(model.age.r.mlcon$b[2] +
> model.age.r.mlcon$b[4]*age.20)) - 1) / (exp(2*(model.age.r.mlcon$b[2]
> + model.age.r.mlcon$b[4]*age.20)) + 1)
>
> rDZ_20.se <-deltamethod(~(exp(2*(x1 + x3*age.20)) - 1) / (exp(2*(x1 +
> x3*age.20)) + 1), coef(model.age.r.mlcon), vcov(model.age.r.mlcon))
>
> rMZ_20.se <-deltamethod(~(exp(2*(x2 + x4*age.20)) - 1) / (exp(2*(x2 +
> x4*age.20)) + 1), coef(model.age.r.mlcon), vcov(model.age.r.mlcon))
I don't understand the question. What do you mean by 'more elegant'?
R: No worries, we will sort this out. I just meant a "shorter" way, but this is not a problem.
> Many thanks again for all your help,
> Beate
>
> Beate St Pourcain, PhD
> Senior Investigator & Group Leader
> Room A207
> Max Planck Institute for Psycholinguistics | Wundtlaan 1 | 6525 XD
> Nijmegen | The Netherlands
>
> @bstpourcain
> Tel: +31 24 3521964
> Fax: +31 24 3521213
> ORCID: https://orcid.org/0000-0002-4680-3517
> Web:
> https://www.mpi.nl/departments/language-and-genetics/projects/populati
> on-
> variation-and-human-communication/
> Further affiliations with:
> MRC Integrative Epidemiology Unit | University of Bristol | UK Donders
> Institute for Brain, Cognition and Behaviour | Radboud University |
> The Netherlands
>
> My working hours may not be your working hours. Please do not feel
> obligated to reply outside of your normal working schedule.
>
> -----Original Message-----
> From: Viechtbauer, Wolfgang (NP)
> <wolfgang.viechtbauer using maastrichtuniversity.nl>
> Sent: Thursday, October 31, 2024 1:22 PM
> To: R Special Interest Group for Meta-Analysis <r-sig-meta-analysis using r-
> project.org>
> Cc: St Pourcain, Beate <Beate.StPourcain using mpi.nl>
> Subject: RE: R-sig-meta-analysis Digest, Vol 89, Issue 13
>
> Hi Beate,
>
> The simulations I mentioned are not published, but Fisher (1925)
> directly states this as well, so you can stick to that reference.
>
> By the way, I just added a deltamethod() function to the development
> version of the metafor package. So, coming back to this model:
>
> model <- rma.mv(
> zi,
> vzi,
> random = list(~ MZDZ_factor | Study_ID, ~ MZDZ_factor | ESID), struct="UN",
> data = data,
> mods = ~ 0 + MZDZ_factor,
> method = "REML",
> tdist = TRUE)
>
> you can now just do:
>
> deltamethod(model, fun=function(b1,b2) 2*(transf.ztor(b2) -
> transf.ztor(b1)))
>
> and you will directly get the estimate of h^2 and the corresponding SE and CI.
>
> Best,
> Wolfgang
>
> > -----Original Message-----
> > From: R-sig-meta-analysis
> > <r-sig-meta-analysis-bounces using r-project.org>
> > On Behalf Of St Pourcain, Beate via R-sig-meta-analysis
> > Sent: Sunday, October 20, 2024 21:25
> > To: r-sig-meta-analysis using r-project.org
> > Cc: St Pourcain, Beate <Beate.StPourcain using mpi.nl>
> > Subject: Re: [R-meta] R-sig-meta-analysis Digest, Vol 89, Issue 13
> >
> > Hi Michael,
> >
> > Thanks for pointing this out! The Fisher reference will certainly do.
> > I had hoped to get the reference for "simulation studies I have done
> > confirm this", but that's an added bonus.
> >
> > Have a nice evening,
> > Beate
> >
> > Date: Sat, 19 Oct 2024 15:16:22 +0100
> > From: Michael Dewey <lists using dewey.myzen.co.uk>
> > To: R Special Interest Group for Meta-Analysis
> > <r-sig-meta-analysis using r-project.org>, "Viechtbauer, Wolfgang (NP)"
> > <wolfgang.viechtbauer using maastrichtuniversity.nl>
> > Cc: "St Pourcain, Beate" <Beate.StPourcain using mpi.nl>
> > Subject: Re: [R-meta] Meta-analysis of intra class correlation
> > coefficients
> >
> > Dear Beate
> >
> > Somewhere buried in this thread Wolfgang said
> >
> > ==========================
> > This goes back to Fisher (1925; Statistical methods for research workers).
> >
> > In your application (where you dealing with pairs), n is the number
> > of pairs and m is 2. In that case, you can treat ICC(1) values like
> > regular correlations. However, if you do apply the r-to-z
> > transformation, then Fisher suggests to use 1/(n-3/2) as the
> > variance (instead of 1/(n-3) as we typically use for r-to-z
> > transformed Pearson product-moment correlation coefficients) and
> > simulation studies I have done
> confirm this.
> > ======================
> >
> > Michael
> >
> > On 18/10/2024 19:43, St Pourcain, Beate via R-sig-meta-analysis wrote:
> > > Dear Wolfgang,
> > > No worries, I am aware of the difference and fully agree with your
> > > comments. I
> > was just surprised by the similarity in estimates and had hoped for
> > an approximation that might provide a quick workaround in the current situation.
> > Thanks again for all your help, we will take it from here.
> > >
> > > In case you would have (at some point) a reference for the
> > > variance of Z
> > scores for ICCs as
> > >
> > > 1/( n-3/2)
> > >
> > > that would be great, no rush!
> > >
> > > Enjoy your weekend,
> > > Beate
More information about the R-sig-meta-analysis
mailing list