<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-GB" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Dear Group (I appreciate I maybe stretching outside the remit of this group a little with this request)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I have done an analysis in R for a publication, but the (reasonably stats savvy) collaborating clinician wants to know how to do the same analysis in STATA (which he uses and he thinks most of the readers of the paper would use). I am stuck
 on one specific point and wondered if anyone has the knowledge to help me.<o:p></o:p></p>
<p class="MsoNormal">The analysis adjusts a meta-analysis dataset for a moderator variable (using a mixed effects model) and then plots a funnel plot of the (raw) residuals vs. the standard error of the residuals.<o:p></o:p></p>
<p class="MsoNormal">The “metafor” package in R makes this very easy using code of the form below:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">res <- rma(yi, vi, data = ma.dataset, mods = cbind(moderator))<o:p></o:p></p>
<p class="MsoNormal">funnel(res, level=0)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Now, in STATA, there is a “metareg” macro to fit the same mixed effects model, but no subsequent command to automatically plot the funnel plot of the residuals vs se(residuals). So I need to extract / compute these quantities manually (then
 there are funnel type commands – no problem). The raw residuals themselves are no problem to calculate (predicted values come as default from the “predict” command and then subtract them from the observed data) but I have spent a (embarrassingly) long time
 failing to compute the se(residuals)!<o:p></o:p></p>
<p class="MsoNormal">I have to confess not being able to find the formulae for se(residuals) in the literature anywhere (can anyone advise?) but in examining the source code to “metafor” believe a distilled version of the relevant code is:<o:p></o:p></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-family:"Courier New"">ImH <- diag(x$k) – H<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-family:"Courier New"">ve <- ImH %*% tcrossprod(x$M,ImH)<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-family:"Courier New"">sei <- sqrt(diag(ve))<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-family:"Courier New"">Which I understand to be<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">ve = (I-H)x M x transpose(I-H),<o:p></o:p></span></p>
<p class="MsoNormal">where M is a matrix with diagonal equal to the variance estimates of each study and 0 otherwise, H is the hat matrix and I is the identity matrix.<o:p></o:p></p>
<p class="MsoNormal">Then se(residuals)  = the square root of the diagonal elements of the “ve” matrix.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Now I don’t think I can get STATA to predict se(resid) for me via the predict command so I went about this via matrix commands to create matrices and compute the above (as is done in the R code). I can create everything but the Hat matrix.
 Predict can give the diagonal elements of this but not the whole matrix(!).<o:p></o:p></p>
<p class="MsoNormal">So I guess (on a good day) I could (possibly) work out how to construct the hat matrix myself, but the idea was to publish the simplest code possible to encourage non-statisticians to use it and this is just going in the opposite direction.
<o:p></o:p></p>
<p class="MsoNormal">Am I being dense / missing something, are there alternatives to using the hat matrix to calculate se(resid)? Or is this a case where it simply isn’t possible in STATA without more programming?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Many thanks in advance for any advice you can give<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Best wishes<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Alex<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-GB"><o:p> </o:p></span></p>
<table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0" width="0" style="width:473.25pt;border-collapse:collapse">
<tbody>
<tr>
<td width="451" valign="top" style="width:338.6pt;border-top:solid black 1.0pt;border-left:none;border-bottom:solid black 1.0pt;border-right:none;padding:0cm 5.4pt 0cm 5.4pt">
<p class="MsoNormal"><b><span style="mso-fareast-language:EN-GB">Alex Sutton<br>
Professor of Medical Statistics<br>
<br>
</span></b><b><span style="font-size:8.0pt;mso-fareast-language:EN-GB"><o:p></o:p></span></b></p>
<p class="MsoNormal" style="line-height:115%"><span style="mso-fareast-language:EN-GB"><a href="http://www2.le.ac.uk/departments/health-sciences"><span style="color:blue">Department of Health Sciences</span></a><span style="color:black">,<br>
</span><a href="http://www2.le.ac.uk/colleges/medbiopsych"><span style="color:blue">College of Medicine, Biological Sciences and Psychology</span></a><span style="color:black">,</span><br>
University of Leicester, Centre for Medicine, University Road, Leicester, LE1 7RH, UK<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:115%"><span style="font-size:8.0pt;line-height:115%;mso-fareast-language:EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height:115%"><b><span style="mso-fareast-language:EN-GB">Please use Lancaster Road, Leicester, LE1 7HA for SatNav<o:p></o:p></span></b></p>
<p class="MsoNormal" style="line-height:115%"><span style="font-size:8.0pt;line-height:115%;mso-fareast-language:EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height:115%"><span style="font-size:12.0pt;line-height:115%;mso-fareast-language:EN-GB">Member of the Complex Reviews Support Unit<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:115%"><span style="mso-fareast-language:EN-GB"><a href="http://www.nihrcrsu.org/"><span style="font-size:12.0pt;line-height:115%;color:blue">http://www.nihrcrsu.org/</span></a></span><span style="font-size:12.0pt;line-height:115%;mso-fareast-language:EN-GB"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:115%"><span style="font-size:8.0pt;line-height:115%;mso-fareast-language:EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height:115%"><span style="font-size:8.0pt;line-height:115%;mso-fareast-language:EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal" style="margin-bottom:10.0pt;line-height:115%;text-autospace:none">
<b><span style="color:#C00000;mso-fareast-language:EN-GB">t:</span></b><span style="color:#C00000;mso-fareast-language:EN-GB">
</span><span style="mso-fareast-language:EN-GB">+44 (0)116 229 7268<br>
<b><span style="color:#C00000">e:</span></b><span style="color:#C00000">  </span>
<a href="mailto:ajs22@le.ac.uk"><span style="color:blue">ajs22@le.ac.uk</span></a>
<br>
<b><span style="color:#C00000">w:</span></b> <a href="http://www.le.ac.uk/"><span style="color:blue">www.le.ac.uk</span></a><u><span style="color:blue"><br>
</span></u><img border="0" width="330" height="90" id="Picture_x0020_2" src="cid:image001.gif@01D31C34.E73602B0" alt="cid:image001.gif@01D0F6E3.BA906A20"><br>
Follow us on <a href="https://twitter.com/uniofleicester"><span style="color:blue">Twitter</span></a> or visit our
<a href="http://www.facebook.com/uniofleicester"><span style="color:blue">Facebook</span></a> page</span><u><span style="color:blue"><o:p></o:p></span></u></p>
</td>
<td width="180" valign="top" style="width:134.65pt;border-top:solid black 1.0pt;border-left:none;border-bottom:solid black 1.0pt;border-right:none;padding:0cm 5.4pt 0cm 5.4pt">
<p class="MsoNormal" style="line-height:115%"><span style="font-size:9.0pt;line-height:115%;color:black;mso-fareast-language:EN-GB"><img border="0" width="157" height="81" id="Picture_x0020_1" src="cid:image004.png@01D31C35.04B17720" alt="cid:image002.png@01D0F6E3.BA906A20"></span><span style="font-size:9.0pt;line-height:115%;color:black;mso-fareast-language:EN-GB"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom:10.0pt;line-height:115%"><span style="font-size:9.0pt;line-height:115%;color:black"><o:p> </o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><b><span style="mso-fareast-language:EN-GB"><o:p> </o:p></span></b></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>