# [R-sig-ME] MCMCglmm: meta-analysis problem

Gustaf Granath Gustaf.Granath at ebc.uu.se
Thu Apr 15 13:50:57 CEST 2010

```Hi,

In a meta-analysis, the SEs of the outcomes are known. However in some
cases, the correlation (co-variances) among outcomes are known as well.
For example when you have multiple outcomes from one study. I wanted to
see if the whole error structure of measurement errors (the R-structure
in MCMCglmm, or?) can be passed and not only the diagonal.

##test data
testdata<-data.frame(Experiment=as.factor(c(1,2,3,4,5,6,7,8)),Study=c("a","a","b","c","d","d","e","e")
,y=c(34,38,45,48,35,28,43,39),yvar=c(3,5,6,2,3,4,5,7),covar=c(1.5,1.5,NA,NA,2.5,2.5,1.25,1.25))
Rmat<-diag(8)*testdata\$yvar
Rmat[1,2]<-testdata\$covar
Rmat[2,1]<-testdata\$covar
Rmat[5,6]<-testdata\$covar
Rmat[6,5]<-testdata\$covar
Rmat[7,8]<-testdata\$covar
Rmat[8,7]<-testdata\$covar

Rmat is the known covariance structure of the experimental outcomes.

library(MCMCglmm)
#"normal" meta-analysis using only the diagonal:
prior = list(R = list(V = 1, n=1,fix = 1),G = list(G1  = list ( V = 1, n
= 1)))
model1 <- MCMCglmm(y ~ 1, random = ~idh(sqrt(yvar)):units ,data = testdata,
prior=prior)

#OR (should be equal right? give sligtly different results though):
model2 <- MCMCglmm(y ~ 1, random = ~Experiment ,data = testdata,
mev=testdata\$yvar,prior=prior)

#Now I want to include the known within-study correlation.
prior = list(R = list(V = Rmat, fix = 1),G = list(G1  = list ( V = (1),
nu = 0.002)))
model1 <- MCMCglmm(y ~ 1, random = ~idh(Experiment):units, rcov = ~
us(Study):Experiment ,data = testdata,
prior=prior)

This did not work (I tried other ways as well but all failed) and I
guess that it is because of my R-structure prior. Is there an
alternative specification, or? (I played around a little with the
"animal" argument but I couldnt get to do what I wanted.)

Cheers,

Gustaf

--

Gustaf Granath (PhD student)

Dept of Plant Ecology
Uppsala University

```