You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
251 lines
7.7 KiB
Plaintext
251 lines
7.7 KiB
Plaintext
7 months ago
|
/*
|
||
|
*! metafunnel dialog version 1.0.1, 20 Aug 2003, T. J. Steichen, steichen@triad.rr.com
|
||
|
*! for metafunnel version 1.0.2, 18 Aug 2003, J.A.C. Sterne, Jonathan.Sterne@bristol.ac.uk
|
||
|
|
||
|
Graphs funnel plot, with standard error on the vertical axis
|
||
|
------------------------------------------------------------
|
||
|
|
||
|
Syntax: metafunnel { theta {se|var} | exp(theta) ll ul [cl] } [ if exp ] [ in range ] [,
|
||
|
BY(varname) Var CI
|
||
|
SUbtitle(str) NOLines FORCEnull REVerse EForm
|
||
|
XTitle(string) YTitle(string) XScale(string)
|
||
|
YScale(string) MSymbol(string) * ]
|
||
|
|
||
|
|
||
|
Install in User Statistics menu via Stata commands:
|
||
|
. window menu append item "stUserStatistics" "metafunn&el (Funnel Graph, vertical)" "db metafunnel"
|
||
|
. window menu refresh
|
||
|
To permanently install, place the commands in your -profile.do- file.
|
||
|
*/
|
||
|
|
||
|
VERSION 8.0
|
||
|
|
||
|
INCLUDE _std_medium
|
||
|
INCLUDE header
|
||
|
|
||
|
HELP hlp1, view("help metafunnel")
|
||
|
RESET res1, label("Reset")
|
||
|
|
||
|
DIALOG main, label("metafunnel 1.0.2 - Funnel Graph, vertical") tabtitle("Main")
|
||
|
BEGIN
|
||
|
|
||
|
GROUPBOX gb_data 10 5 390 _ht5h, ///
|
||
|
label("Type of Data:")
|
||
|
RADIO r_se 15 25 100 ., ///
|
||
|
label("Theta, SE") first ///
|
||
|
onclickon(script main_se_on) ///
|
||
|
onclickoff(script main_se_off) ///
|
||
|
option(NONE)
|
||
|
RADIO r_var 115 25 100 ., ///
|
||
|
label("Theta, Var") middle ///
|
||
|
onclickon(script main_var_on) ///
|
||
|
onclickoff(script main_var_off) ///
|
||
|
option("var")
|
||
|
RADIO r_ci 215 25 110 ., ///
|
||
|
label("exp(Theta), CI") last ///
|
||
|
onclickon(script main_ci_on) ///
|
||
|
onclickoff(script main_ci_off) ///
|
||
|
option("ci")
|
||
|
|
||
|
TEXT tx_se 15 45 380 ., ///
|
||
|
label("Vars for theta, se(theta), in that order")
|
||
|
VARLIST vl_se @ _ss @ ., ///
|
||
|
label("Vars for theta, se(theta)")
|
||
|
|
||
|
TEXT tx_var @ 45 380 ., ///
|
||
|
label("Vars for theta, var(theta), in that order")
|
||
|
VARLIST vl_var @ _ss @ ., ///
|
||
|
label("Vars for theta, var(theta)")
|
||
|
|
||
|
TEXT tx_ci @ 45 380 ., ///
|
||
|
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")
|
||
|
|
||
|
CHECKBOX cb_by 10 100 100 ., ///
|
||
|
label("By Variable:") ///
|
||
|
onclickon(main.vn_by.enable) ///
|
||
|
onclickoff(main.vn_by.disable)
|
||
|
VARNAME vn_by 110 100 290 ., ///
|
||
|
label("By Variable") ///
|
||
|
option("by")
|
||
|
|
||
|
CHECKBOX ck_subtitle 10 130 55 ., ///
|
||
|
label("Title:") ///
|
||
|
onclickon(main.ed_subtitle.enable) ///
|
||
|
onclickoff(main.ed_subtitle.disable)
|
||
|
EDIT ed_subtitle 70 @ 330 ., ///
|
||
|
label("Title") ///
|
||
|
option("subtitle")
|
||
|
|
||
|
CHECKBOX ck_xtitle 10 155 55 ., ///
|
||
|
label("X: title") ///
|
||
|
onclickon(main.ed_xtitle.enable) ///
|
||
|
onclickoff(main.ed_xtitle.disable)
|
||
|
EDIT ed_xtitle 70 @ 160 ., ///
|
||
|
label("X title") ///
|
||
|
option("xtitle")
|
||
|
|
||
|
CHECKBOX ck_xscale 240 @ 60 ., ///
|
||
|
label("scale") ///
|
||
|
onclickon(main.ed_xscale.enable) ///
|
||
|
onclickoff(main.ed_xscale.disable)
|
||
|
EDIT ed_xscale 300 @ 100 ., ///
|
||
|
label("X scale") ///
|
||
|
option("xscale")
|
||
|
|
||
|
CHECKBOX ck_ytitle 10 175 55 ., ///
|
||
|
label("Y: title") ///
|
||
|
onclickon(main.ed_ytitle.enable) ///
|
||
|
onclickoff(main.ed_ytitle.disable)
|
||
|
EDIT ed_ytitle 70 @ 160 ., ///
|
||
|
label("Y title") ///
|
||
|
option("ytitle")
|
||
|
|
||
|
CHECKBOX ck_yscale 240 @ 60 ., ///
|
||
|
label("scale") ///
|
||
|
onclickon(main.ed_yscale.enable) ///
|
||
|
onclickoff(main.ed_yscale.disable)
|
||
|
EDIT ed_yscale 300 @ 100 ., ///
|
||
|
label("Y scale") ///
|
||
|
option("yscale")
|
||
|
|
||
|
|
||
|
CHECKBOX ck_reverse 10 200 120 ., ///
|
||
|
label("Reverse y-axis") ///
|
||
|
option("reverse")
|
||
|
|
||
|
CHECKBOX ck_nolines 10 220 120 ., ///
|
||
|
label("Suppress lines") ///
|
||
|
option("nolines")
|
||
|
|
||
|
CHECKBOX ck_eform 150 200 120 ., ///
|
||
|
label("Exponential form") ///
|
||
|
option("eform")
|
||
|
|
||
|
CHECKBOX ck_forcenull 150 220 120 ., ///
|
||
|
label("Force null") ///
|
||
|
option("forcenull")
|
||
|
|
||
|
|
||
|
CHECKBOX ck_msymbol 290 200 110 ., ///
|
||
|
label("Marker Symb:") ///
|
||
|
onclickon(main.ed_msymbol.enable) ///
|
||
|
onclickoff(main.ed_msymbol.disable)
|
||
|
EDIT ed_msymbol 290 220 110 ., ///
|
||
|
label("M Symbol") ///
|
||
|
option("msymbol")
|
||
|
|
||
|
|
||
|
|
||
|
END
|
||
|
|
||
|
INCLUDE ifin
|
||
|
|
||
|
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_se_off
|
||
|
BEGIN
|
||
|
main.tx_se.disable
|
||
|
main.vl_se.disable
|
||
|
main.tx_se.hide
|
||
|
main.vl_se.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_var_off
|
||
|
BEGIN
|
||
|
main.tx_var.disable
|
||
|
main.vl_var.disable
|
||
|
main.tx_var.hide
|
||
|
main.vl_var.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
|
||
|
|
||
|
SCRIPT main_ci_off
|
||
|
BEGIN
|
||
|
main.tx_ci.disable
|
||
|
main.vl_ci.disable
|
||
|
main.tx_ci.hide
|
||
|
main.vl_ci.hide
|
||
|
END
|
||
|
|
||
|
PROGRAM command
|
||
|
BEGIN
|
||
|
put "metafunnel "
|
||
|
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)
|
||
|
optionarg main.vn_by
|
||
|
optionarg main.ed_subtitle
|
||
|
optionarg main.ed_xtitle
|
||
|
optionarg main.ed_ytitle
|
||
|
optionarg main.ed_xscale
|
||
|
optionarg main.ed_yscale
|
||
|
option main.ck_nolines
|
||
|
option main.ck_forcenull
|
||
|
option main.ck_eform
|
||
|
option main.ck_reverse
|
||
|
optionarg main.ed_msymbol
|
||
|
endoptions
|
||
|
END
|