/* *! metatrim dialog version 1.0.2, 22 Jul 2003, T. J. Steichen, steichen@triad.rr.com *! for metatrim version 1.0.5, 18 Oct 2002, T. J. Steichen, steichen@triad.rr.com Nonparametric "trim and fill" analysis of publication bias in meta-analysis --------------------------------------------------------------------------- syntax: metatrim varlist [if] [in] [ , Vari CI REffect PRint Funnel EForm LEvel(real 95) ESTimat(R|L|Q) GRaph IDvar(varname) FLIP MIXED SAve(filename [, REPLACE]) * ] Install in User Statistics menu via Stata commands: . window menu append item "stUserStatistics" "meta&trim ("Trim and Fill" Analysis)" "db metatrim" . window menu refresh To permanently install, place the commands in your -profile.do- file. */ VERSION 8.0 INCLUDE _std_small DEFINE _dlght 230 INCLUDE header HELP hlp1, view("help metatrim") RESET res1, label("Reset") DIALOG main, label(`"metatrim 1.0.5 - "Trim and Fill" Analysis"') tabtitle("Main") BEGIN GROUPBOX gb_data 10 5 330 85, /// label("Type of Data") RADIO r_se 15 20 100 ., /// label("Theta, SE") first /// onclickon(script main_se_on) /// option(NONE) RADIO r_var 115 @ 100 ., /// label("Theta, Var") middle /// onclickon(script main_var_on) /// option("var") RADIO r_ci 215 @ 110 ., /// label("exp(Theta), CI") last /// onclickon(script main_ci_on) /// option("ci") TEXT tx_se 15 40 320 ., /// label("Vars for theta, se(theta), in that order") VARLIST vl_se @ _ss @ ., /// label("Vars for theta, se(theta)") TEXT tx_var @ 40 320 ., /// label("Vars for theta, var(theta), in that order") VARLIST vl_var @ _ss @ ., /// label("Vars for theta, var(theta)") TEXT tx_ci @ 40 320 ., /// label("Vars for exp(theta), CI_LL, CI_UL, in that order") VARLIST vl_ci @ _ss @ ., /// label("Vars for exp(theta), CI_LL, CI_UL") GROUPBOX gb_estimat 10 95 90 80, /// label("Estimate") RADIO r_linear 15 110 80 ., /// label("Linear") first /// option(NONE) RADIO r_run @ 130 @ ., /// label("Run") middle /// option("est(run)") RADIO r_quadratic @ 150 @ ., /// label("Quadratic") last /// option("est(quadratic)") GROUPBOX gb_pool 105 95 90 60, /// label("Pooling") RADIO r_fixed 110 110 80 ., /// label("Fixed") first /// option(NONE) RADIO r_random @ 130 @ ., /// label("Random") last /// option("reffect") CHECKBOX cb_eform 205 100 70 ., /// label("Eform") /// option("eform") CHECKBOX cb_flip 205 120 70 ., /// label("Flip") /// option("flip") CHECKBOX cb_mixed 205 140 70 ., /// label("Mixed") /// option("mixed") CHECKBOX cb_graph 275 100 70 ., /// label("Graph") /// onclickon(program main_cb_graph_on) /// onclickoff(program main_cb_graph_off) /// option("graph") CHECKBOX cb_funnel 275 120 70 ., /// label("Funnel") /// option("funnel") CHECKBOX cb_print 275 140 70 ., /// label("Print") /// option("print") /// onclickon(program main_cb_print_on) /// onclickoff(program main_cb_print_off) CHECKBOX cb_id 110 157 100 ., /// label("ID Variable:") /// onclickon(main.vn_id.enable) /// onclickoff(main.vn_id.disable) VARNAME vn_id 210 160 130 ., /// label("ID Variable") /// option("id") CHECKBOX cb_fill_save 10 185 90 ., /// label("Save filled:") /// onclickon(main.fi_fill_save.enable) /// onclickoff(main.fi_fill_save.disable) FILE fi_fill_save 110 185 230 ., /// save /// label("File Name") /// error("Save File Name") /// dialogtitle("Save file") /// filter("Stata Data|*.dta") /// option("save") CHECKBOX cb_gph_save 10 210 90 ., /// label("Save gph:") /// onclickon(main.fi_gph_save.enable) /// onclickoff(main.fi_gph_save.disable) FILE fi_gph_save 110 210 230 ., /// save /// label("File Name") /// error("Saving File Name") /// dialogtitle("Saving file") /// filter("Stata Graphs|*.gph") /// option("saving") END INCLUDE ifin PROGRAM main_cb_graph_on BEGIN call main.cb_id.enable if main.cb_id { call main.vn_id.enable } END PROGRAM main_cb_graph_off BEGIN if !main.cb_print { call main.cb_id.disable call main.vn_id.disable } END PROGRAM main_cb_print_on BEGIN call main.cb_id.enable if main.cb_id { call main.vn_id.enable } END PROGRAM main_cb_print_off BEGIN if !main.cb_graph { call main.cb_id.disable call main.vn_id.disable } END SCRIPT main_se_on BEGIN main.tx_se.show main.vl_se.show main.tx_se.enable main.vl_se.enable main.tx_var.disable main.vl_var.disable main.tx_var.hide main.vl_var.hide main.tx_ci.disable main.vl_ci.disable main.tx_ci.hide main.vl_ci.hide END SCRIPT main_var_on BEGIN main.tx_var.show main.vl_var.show main.tx_var.enable main.vl_var.enable main.tx_se.disable main.vl_se.disable main.tx_se.hide main.vl_se.hide main.tx_ci.disable main.vl_ci.disable main.tx_ci.hide main.vl_ci.hide END SCRIPT main_ci_on BEGIN main.tx_ci.show main.vl_ci.show main.tx_ci.enable main.vl_ci.enable main.tx_se.disable main.vl_se.disable main.tx_se.hide main.vl_se.hide main.tx_var.disable main.vl_var.disable main.tx_var.hide main.vl_var.hide END PROGRAM command BEGIN put "metatrim " if main.r_se { varlist main.vl_se } if main.r_var { varlist main.vl_var } if main.r_ci { varlist main.vl_ci } INCLUDE _ifin_pr beginoptions option radio(main r_se r_var r_ci) option radio(main r_linear r_run r_quadratic) option radio(main r_fixed r_random) option main.cb_eform option main.cb_flip option main.cb_mixed option main.cb_print option main.cb_graph option main.cb_funnel optionarg main.vn_id optionarg main.fi_fill_save optionarg main.fi_gph_save endoptions END