Lucia Costanzo
2007-Jun-19 12:13 UTC
[R] converting proc mixed to lme for a random effects meta-analysis
I would like to convert the following SAS code for a Random Effects meta-analysis model for use in R but, I am running into difficulties. The results are not similar, R should be reporting 0.017 for the between-study variance component, 0.478 for the estimated parameter and 0.130 for the standard error of the estimated parameter. I think it is the weighting causing problems. Would anyone have any suggestions or tips? Thank you, Lucia *** R CODE *** studynum <-c(1, 2, 3, 4, 5) y <-c(0.284, 0.224, 0.360, 0.785, 0.492) w <-c(14.63, 17.02, 9.08, 33.03, 5.63) genData2 <-data.frame(cbind(studynum, y, w,v)) re.teo<-lme(y~1, data=genData2, random =~1, method="ML", weights=varFixed(~w)) *** SAS CODE *** data tacrine; input study y w; cards; 1 0.284 14.63 2 0.224 17.02 3 0.360 9.08 4 0.785 33.03 5 0.492 5.63 ; run; *Random Effects using log-odds for tacrine example table 4.29; DATA remlma; SET tacrine; var=1/w; col = _n_; row = _n_; value = var; run; *random effects for tacrine example; PROC MIXED data = remlma method=reml order=data; CLASS study; MODEL y = / solution; RANDOM study / gdata = remlma; REPEATED diag; RUN;
Bernd Weiss
2007-Jun-19 12:36 UTC
[R] converting proc mixed to lme for a random effects meta-analysis
On 19 Jun 2007 at 8:13, Lucia Costanzo wrote: Date sent: Tue, 19 Jun 2007 08:13:30 -0400 From: Lucia Costanzo <lcostanz at uoguelph.ca> To: r-help at stat.math.ethz.ch Subject: [R] converting proc mixed to lme for a random effects meta-analysis> I would like to convert the following SAS code for a Random Effects > meta-analysis model for use in R but, I am running into > difficulties. > The results are not similar, R should be reporting 0.017 for the > between-study variance component, 0.478 for the estimated parameter > and > 0.130 for the standard error of the estimated parameter. I think it > is > the weighting causing problems. Would anyone have any suggestions or > tips? > > Thank you, > Lucia > > *** R CODE *** > studynum <-c(1, 2, 3, 4, 5) > y <-c(0.284, 0.224, 0.360, 0.785, 0.492) > w <-c(14.63, 17.02, 9.08, 33.03, 5.63) > genData2 <-data.frame(cbind(studynum, y, w,v)) > > re.teo<-lme(y~1, data=genData2, random =~1, method="ML", > weights=varFixed(~w)) > >What about using MiMa <http://www.wvbauer.com/downloads.html>? studynum <-c(1, 2, 3, 4, 5) y <-c(0.284, 0.224, 0.360, 0.785, 0.492) w <-c(14.63, 17.02, 9.08, 33.03, 5.63) ## without cbind(...) genData2 <-data.frame(studynum, y, w) mima(genData2$y, 1/genData2$w, mods = c(), method = "ML") Some output: - Estimate of (Residual) Heterogeneity: 0.0173 - estimate SE zval pval CI_L CI_U intrcpt 0.4779 0.1304 3.6657 2e-04 0.2224 0.7334 Looks like what you are looking for... HTH, Bernd