*! metainf.ado AT version 2.0.0 November 1998 STB-47 sbe26 * metainf.ado AT version 1.0.0 February 1998 program define metainf version 5.0 local varlist "req ex min(2)" local if "opt" local in "opt" local options "random eform id(string) l1(str) b2(str) print `options' *" parse "`*'" parse "`varlist'", parse(" ") local E `1' local SE `2' preserve if ("`if'"!="") { qui keep `if' } if ("`in'"!="") { qui keep `in' } qui meta `E' `SE', `eform' if "`random'"=="random" { local ove=$S_7 local ll=$S_9 local ul=$S_0 local lab="Meta-analysis Random-effects estimates" } else { local ove=$S_1 local ll=$S_3 local ul=$S_4 local lab="Meta-analysis Fixed-effects estimates" } tempvar s qui gen `s'=_n if "`id'"=="" { local id2 "`s'" } else { tempvar s qui encode `id', gen(`s') label(s) local id2 "`s'" } tempvar theta setheta qui summ `E' local n=_result(1) qui { gen `theta'=. gen `setheta'=. } local i=1 while (`i'<=`n') { qui { meta `E' `SE' if `s'!=`i', `eform' if "`random'"=="random" { replace `theta'=$S_7 in `i' replace `setheta'=$S_8 in `i' } else { replace `theta'=$S_1 in `i' replace `setheta'=$S_2 in `i' } } local i=`i'+1 } if "`eform'"=="eform" { local ylog="ylog" } else { local ylog="" } local j=1 local xlist="1" while (`j'<=`n') { local xlist "`xlist',`j'" local j=`j'+1 } if "`print'"=="print" & "`eform'"=="" { tempvar thul thll qui gen `thul'=`theta'+1.96*`setheta' qui gen `thll'=`theta'-1.96*`setheta' dis dis in gre "`lab'" dis in gr "------------------------------------------------------------------------------" dis in gr _col(2) "Study omitted" _col(20) "|" _col(24) "Coef." _col(39) "[95% Conf. Interval]" dis in gr "-------------------+----------------------------------------------------------" local i=1 while `i'<=`n' { if "`id'"=="" { local a=`s' in `i' } else { local a=`id' in `i'} local b=`theta' in `i' local c=`thll' in `i' local d=`thul' in `i' display _col(2) "`a'" _col(20) in gr "|" in ye _col(24) `b' _col(39) `c' _col(52) `d' local i=`i'+1 } dis in gr "-------------------+----------------------------------------------------------" display _col(2) "Combined" _col(20) in gr "|" in ye _col(24) `ove' _col(39) `ll' _col(52) `ul' dis in gr "------------------------------------------------------------------------------" } else if "`print'"=="print" & "`eform'"=="eform" { tempvar thul thll qui gen `thul'=exp(ln(`theta')+1.96*`setheta') qui gen `thll'=exp(ln(`theta')-1.96*`setheta') dis dis in gre "`lab'" dis in gr "------------------------------------------------------------------------------" dis in gr _col(2) "Study omitted" _col(20) "|" _col(24) "e^coef." _col(39) "[95% Conf. Interval]" dis in gr "-------------------+----------------------------------------------------------" local i=1 while `i'<=`n' { if "`id'"=="" { local a=`s' in `i' } else { local a=`id' in `i'} local b=`theta' in `i' local c=`thll' in `i' local d=`thul' in `i' display _col(2) "`a'" _col(20) in gr "|" in ye _col(24) `b' _col(39) `c' _col(52) `d' local i=`i'+1 } dis in gr "-------------------+----------------------------------------------------------" display _col(2) "Combined" _col(20) in gr "|" in ye _col(24) `ove' _col(39) `ll' _col(52) `ul' dis in gr "------------------------------------------------------------------------------" } if "`l1'" == "" & "`eform'" == "eform" { local l1 "l1(e^coef.)" } else if "`l1'" == "" & "`eform'" == "" { local l1 "l1(Coef.)" } else local l1 "l1(`l1')" if "`b2'" == "" { local b2 "b2(Study omitted)" } else local b2 "b2(`b2')" serrbar `theta' `setheta' `id2', `ylog' `l1' `b2' xlab(`xlist') ylab(`ll',`ove',`ul') yline(`ll',`ove',`ul') scale(2) `options' end