*! metap AT 1.1.1, 31 May 1999 STB-49 sbe28 program define metap version 5.0 local varlist "req ex min(1)" local if "opt" local in "opt" local options " e(string) `options' *" parse "`*'" parse "`varlist'", parse(" ") local P `1' dis dis in gre "Meta-analysis of p_values" dis if "`e'"=="a" { qui summ `P' `if' `in', detail local m="Edgington, additive" local t="." local sp=_result(18) local n=_result(1) local i=1 local f=1 while `i'<=`n' { local f=`f'*`i' local i=`i'+1 } local z=. local pz=(`sp'^`n')/`f' } else if "`e'"=="n" { qui summ `P' `if' `in', detail local m="Edgington, Normal" local t="Z" local sp=_result(18) local n=_result(1) local p=`sp'/`n' local z=(0.5-`p')*sqrt(12*`n') local pz=normprob(-`z') } else { tempvar lnP qui gen `lnP'=ln(`P') qui summ `lnP' `if' `in', detail local t="chi2" local m="Fisher" local sp=_result(18) local n=_result(1) local z=-2*`sp' local df=2*`n' local pz=chiprob(`df', `z') } dis in gre "------------------------------------------------------------ dis in gre " Method" _col(21) "|" _col(25) "`t'" _col(38) "p_value" _col(51) "studies" dis in gre "--------------------+--------------------------------------- dis in gre _col(2) "`m'" _col(21) "|" _col(25) in ye `z' _col(38) in ye `pz' _col(51) in ye `n' dis in gre "------------------------------------------------------------ global S_1 `m' global S_2 `n' global S_3 `t' global S_4 `z' global S_5 `pz' end