<div dir="ltr"><font face="georgia, serif">Dear Dr. Wolfgang,</font><div><font face="georgia, serif"><br></font></div><div><font face="georgia, serif">Thank you for your quick response.</font></div><div><font face="georgia, serif"><br></font></div><div><font face="georgia, serif">In my dataset, I have sample size (replications) and means for both treatment and control groups. With that, I am calculating the log response ratio (lrr) as an effect size. Yes, most of the articles in my search have not reported SD or CV. I found that many researchers in my field prefer to weight effect sizes using Wi=(Nt*Nc)/(Nt+Nc); where Nt and Nc are replicates for treatment and control groups. Here is one link of a paper: </font></div><div><font face="georgia, serif"><a href="https://www.researchgate.net/publication/315379724_Increased_plant_uptake_of_native_soil_nitrogen_following_fertilizer_addition_-_not_a_priming_effect" target="_blank">https://www.researchgate.net/<wbr>publication/315379724_<wbr>Increased_plant_uptake_of_<wbr>native_soil_nitrogen_<wbr>following_fertilizer_addition_<wbr>-_not_a_priming_effect</a> ( Increased plant uptake of native soil nitrogen following fertilizer addition – not a priming effect?).</font></div><div><font face="georgia, serif"><br></font></div><div><font face="georgia, serif">My understanding is:</font></div><div><font face="georgia, serif">1. We can replace 'vi' with 'wi' and conduct the meta-analysis. Also, I think multiple effect sizes from the study and multiple studies from the same site will be more correlated with each other. To account for this, I need to perform multi-level meta-analysis using random statement as outlined in your website. So, my code looks like:</font></div><div><font face="georgia, serif"><br></font></div><div><span id="gmail-m_-8805874956304599697gmail-docs-internal-guid-327cbdc6-f9c3-8571-a960-40cfce6d7f7f"><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"><font face="georgia, serif">library(metafor)</font></span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="background-color:transparent;vertical-align:baseline"><font face="georgia, serif"><font color="#000000"><span style="white-space:pre-wrap">dat <- read.csv('C:/Users/resham.<wbr>thapa/Desktop/data_eg.csv')
dat</span></font><br></font></span></p><div><span style="background-color:transparent;vertical-align:baseline"><span id="gmail-m_-8805874956304599697gmail-docs-internal-guid-327cbdc6-f9c3-b73d-e5f6-0be2d7557922"><p dir="ltr" style="color:rgb(0,0,0);white-space:pre-wrap;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="background-color:transparent;vertical-align:baseline"><font face="georgia, serif"># Calculating weighted effect size with multiple, nested location/study/year as random effects.</font></span></p><p dir="ltr" style="color:rgb(0,0,0);white-space:pre-wrap;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="background-color:transparent;vertical-align:baseline"><font face="georgia, serif">res <- <a href="http://rma.mv/" target="_blank">rma.mv</a>(lrr, wi, random = ~ 1|site_id/study_id/site_year/<wbr>com_control, data=dat, method="REML")</font></span></p><p dir="ltr" style="color:rgb(0,0,0);white-space:pre-wrap;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="background-color:transparent;vertical-align:baseline"><font face="georgia, serif">res</font></span></p><p dir="ltr" style="color:rgb(0,0,0);white-space:pre-wrap;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="background-color:transparent;vertical-align:baseline"><font face="georgia, serif"><br></font></span></p><p dir="ltr" style="color:rgb(0,0,0);white-space:pre-wrap;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="background-color:transparent;vertical-align:baseline"><font face="georgia, serif"><b><i><u>Is this correct?</u></i></b></font></span></p><p dir="ltr" style="color:rgb(0,0,0);white-space:pre-wrap;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="background-color:transparent;vertical-align:baseline"><font face="georgia, serif"><br></font></span></p><p style="color:rgb(0,0,0);white-space:pre-wrap;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="background-color:transparent;vertical-align:baseline"><font face="georgia, serif">2. </font></span><span style="font-family:georgia,serif;background-color:transparent"> Then, I need to perform non-parametric bootstrapping by slightly modifying the codes from your website. However, I always get error while running it. Any suggestions.</span></p><p style="color:rgb(0,0,0);white-space:pre-wrap;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><br></p><p dir="ltr" style="color:rgb(0,0,0);white-space:pre-wrap;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="background-color:transparent;vertical-align:baseline"><font face="georgia, serif">library(boot)</font></span></p><p dir="ltr" style="color:rgb(0,0,0);white-space:pre-wrap;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="background-color:transparent;vertical-align:baseline"><font face="georgia, serif">boot.func <- function(dat, indices) {</font></span></p><p dir="ltr" style="color:rgb(0,0,0);white-space:pre-wrap;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="background-color:transparent;vertical-align:baseline"><font face="georgia, serif"> </font></span></p><p dir="ltr" style="color:rgb(0,0,0);white-space:pre-wrap;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="background-color:transparent;vertical-align:baseline"><font face="georgia, serif"> res <- try(<a href="http://rma.mv/" target="_blank">rma.mv</a>(lrr, wi, random = ~ 1|site_id/study_id/site_year/<wbr>com_control, data=dat, method="REML", subset=indices), silent=TRUE)</font></span></p><p dir="ltr" style="color:rgb(0,0,0);white-space:pre-wrap;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="background-color:transparent;vertical-align:baseline"><font face="georgia, serif"> </font></span></p><p dir="ltr" style="color:rgb(0,0,0);white-space:pre-wrap;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="background-color:transparent;vertical-align:baseline"><font face="georgia, serif"> if (is.element("try-error", class(res))) {</font></span></p><p dir="ltr" style="color:rgb(0,0,0);white-space:pre-wrap;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="background-color:transparent;vertical-align:baseline"><font face="georgia, serif"> NA</font></span></p><p dir="ltr" style="color:rgb(0,0,0);white-space:pre-wrap;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="background-color:transparent;vertical-align:baseline"><font face="georgia, serif"> } else {</font></span></p><p dir="ltr" style="color:rgb(0,0,0);white-space:pre-wrap;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="background-color:transparent;vertical-align:baseline"><font face="georgia, serif"> c(coef(res), vcov(res), res$sigma)</font></span></p><p dir="ltr" style="color:rgb(0,0,0);white-space:pre-wrap;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="background-color:transparent;vertical-align:baseline"><font face="georgia, serif"> }</font></span></p><p dir="ltr" style="color:rgb(0,0,0);white-space:pre-wrap;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="background-color:transparent;vertical-align:baseline"><font face="georgia, serif"> </font></span></p><p dir="ltr" style="color:rgb(0,0,0);white-space:pre-wrap;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="background-color:transparent;vertical-align:baseline"><font face="georgia, serif">}</font></span></p><p dir="ltr" style="color:rgb(0,0,0);white-space:pre-wrap;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><font face="georgia, serif"> </font></p><p dir="ltr" style="color:rgb(0,0,0);white-space:pre-wrap;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="background-color:transparent;vertical-align:baseline"><font face="georgia, serif">res.boot <- boot(dat, boot.func, R=4999)</font></span></p><p style="color:rgb(36,39,41);margin:0px 0px 1em;padding:0px;border:0px;font-variant-numeric:inherit;font-stretch:inherit;line-height:inherit;vertical-align:baseline;clear:both;background-color:rgba(252,251,248,0.9)"><strong style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-stretch:inherit;line-height:inherit;vertical-align:baseline"><em style="margin:0px;padding:0px;border:0px;font-variant:inherit;font-weight:inherit;font-stretch:inherit;line-height:inherit;vertical-align:baseline"><font face="georgia, serif">## There were 50 or more warnings (use warnings() to see the first 50)</font></em></strong></p><p style="color:rgb(36,39,41);margin:0px 0px 1em;padding:0px;border:0px;font-variant-numeric:inherit;font-stretch:inherit;line-height:inherit;vertical-align:baseline;clear:both;background-color:rgba(252,251,248,0.9)"><font face="georgia, serif">warnings()</font></p><p style="color:rgb(36,39,41);margin:0px 0px 1em;padding:0px;border:0px;font-variant-numeric:inherit;font-stretch:inherit;line-height:inherit;vertical-align:baseline;clear:both;background-color:rgba(252,251,248,0.9)"><b style="color:rgb(34,34,34)"><font face="georgia, serif" style="color:rgb(36,39,41)"># </font><span style="background-color:transparent"><font color="#242729" face="georgia, serif">'V' appears to be not positive definite.</font></span></b></p><p style="color:rgb(36,39,41);margin:0px 0px 1em;padding:0px;border:0px;font-variant-numeric:inherit;font-stretch:inherit;line-height:inherit;vertical-align:baseline;clear:both;background-color:rgba(252,251,248,0.9)"><span style="font-family:georgia,serif;background-color:transparent;color:rgb(0,0,0);white-space:pre-wrap"><a href="http://boot.ci/" target="_blank">boot.ci</a>(res.boot, index=1:2)</span><br></p><p style="color:rgb(36,39,41);margin:0px 0px 1em;padding:0px;border:0px;font-variant-numeric:inherit;font-stretch:inherit;line-height:inherit;vertical-align:baseline;clear:both;background-color:rgba(252,251,248,0.9)">I have attached a subset of my data to illustrate about the nature of my data-set more clearly. Thank you in advance.</p><p style="color:rgb(36,39,41);margin:0px 0px 1em;padding:0px;border:0px;font-variant-numeric:inherit;font-stretch:inherit;line-height:inherit;vertical-align:baseline;clear:both;background-color:rgba(252,251,248,0.9)"><br></p><p style="color:rgb(36,39,41);margin:0px 0px 1em;padding:0px;border:0px;font-variant-numeric:inherit;font-stretch:inherit;line-height:inherit;vertical-align:baseline;clear:both;background-color:rgba(252,251,248,0.9)">Regards'</p><div class="gmail-yj6qo gmail-ajU"><div id="gmail-:2iz" class="gmail-ajR" tabindex="0"><img class="gmail-ajT" src="https://ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif" style="opacity: 0.3;"><span style="background-color:rgba(252,251,248,0.9);color:rgb(36,39,41);font-size:12.8px">Resham </span></div></div><span class="gmail-HOEnZb gmail-adL"><font color="#888888"><div><br></div></font></span></span></span></div></span></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jun 30, 2017 at 11:54 AM, Viechtbauer Wolfgang (SP) <span dir="ltr"><<a href="mailto:wolfgang.viechtbauer@maastrichtuniversity.nl" target="_blank">wolfgang.viechtbauer@maastrichtuniversity.nl</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dear Resham,<br>
<br>
I approved your post as a non-member, but please sign up for the list: <a href="https://stat.ethz.ch/mailman/listinfo/r-sig-meta-analysis" rel="noreferrer" target="_blank">https://stat.ethz.ch/mailman/<wbr>listinfo/r-sig-meta-analysis</a><br>
<br>
What kind of outcome/effect size measure are you dealing with? I will venture a guess and assume you are dealing with (log-transformed) ratios of means. The actual sampling variance is then computed with:<br>
<br>
vi = sd1i^2/(n1i*m1i^2) + sd2i^2/(n2i*m2i^2)<br>
<br>
where m1i and m2i are the means of the first and second group, sd1i and sd2i are the SDs, and n1i and n2i are the group sizes. And the problem is that the SDs are not known (but you do know the means -- as otherwise you would not be able to compute the outcomes in the first place -- and you do know the group sizes).<br>
<br>
Here are some thoughts:<br>
<br>
Note that the sampling variance can also be written as:<br>
<br>
vi = cv1i^2 / n1i + cv2i^2 / n2i<br>
<br>
where cv1i and cv2i are the coefficient of variation for the first and second group. Maybe you could make an educated guess how large the CVs are and use that as a rough approximation to the actual sampling variances. Some people have used:<br>
<br>
vi = 1 / n1i + 1 / n2i<br>
<br>
which actually just implies that we assume that the CVs = 1 within each group.<br>
<br>
Then fit the model as usual (e.g., rma(yi, vi) where yi are the log-transformed ratios of means and vi the approximate variances). Then you could follow this up with bootstrapping. Code for this can be found here: <a href="http://www.metafor-project.org/doku.php/tips:bootstrapping_with_ma" rel="noreferrer" target="_blank">http://www.metafor-project.<wbr>org/doku.php/tips:<wbr>bootstrapping_with_ma</a><br>
<br>
And/or you could consider using robust estimates of the standard errors for the fixed effects. That can be done using the robust() function (see help(robust) for details).<br>
<br>
Best,<br>
Wolfgang<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Wolfgang Viechtbauer, Ph.D., Statistician | Department of Psychiatry and<br>
Neuropsychology | Maastricht University | P.O. Box 616 (VIJV1) | 6200 MD<br>
Maastricht, The Netherlands | <a href="tel:%2B31%20%2843%29%20388-4170" value="+31433884170">+31 (43) 388-4170</a> | <a href="http://www.wvbauer.com" rel="noreferrer" target="_blank">http://www.wvbauer.com</a><br>
</font></span><span class="im HOEnZb"><br>
-----Original Message-----<br>
From: R-sig-meta-analysis [mailto:<a href="mailto:r-sig-meta-analysis-bounces@r-project.org">r-sig-meta-analysis-<wbr>bounces@r-project.org</a>] On Behalf Of Thapa, Resham - ARS<br>
Sent: Friday, June 30, 2017 17:10<br>
To: <a href="mailto:r-sig-meta-analysis@r-project.org">r-sig-meta-analysis@r-project.<wbr>org</a><br>
Subject: [R-meta] Meta-analysis in R when there is no sampling variances<br>
<br>
Dear All,<br>
<br>
I am conducting a meta-analysis in environmental research. Most of the literatures in my search did not report sufficient information to calculate sampling variances. I have also seen meta-analysis conducted in my area of research with similar issues; they performed non-parametric bootstrapping procedure to calculate bootstrapped CIs for the weighted effect size. In these papers, they used Metawin software to weight individual effect size following Adams et al., 1997. Resampling tests for meta-analysis for ecological data. Ecology 78(5):1277-1283; where weights (wi) is given as:<br>
<br>
Wi=(Nt*Nc)/(Nt+Nc); where Nt and Nc are replicates for treatment and control groups.<br>
<br>
I want to use R and perform meta-analysis by following similar approach. Any helps and suggestions will be highly appreciated.<br>
<br>
Thanks'<br>
Resham<br>
<br>
</span><div class="HOEnZb"><div class="h5">______________________________<wbr>_________________<br>
R-sig-meta-analysis mailing list<br>
<a href="mailto:R-sig-meta-analysis@r-project.org">R-sig-meta-analysis@r-project.<wbr>org</a><br>
<a href="https://stat.ethz.ch/mailman/listinfo/r-sig-meta-analysis" rel="noreferrer" target="_blank">https://stat.ethz.ch/mailman/<wbr>listinfo/r-sig-meta-analysis</a><br>
</div></div></blockquote></div><br></div>