📄 glm.dlg
字号:
/*
glm
*! VERSION 1.1.1 08feb2005
*/
VERSION 9.0
INCLUDE glm_header
DEFINE _dlght 385
INCLUDE header
HELP hlp1, view("help glm")
RESET res1
DIALOG main, label("glm - Generalized linear model") tabtitle("Model")
BEGIN
INCLUDE _dviv
TEXT tx_title1 _lft _ls irhwd ., /*
*/ label("Family and") /*
*/
DEFINE y @y
TEXT tx_title2 _lft _ss irhwd ., /*
*/ label("link choices:") /*
*/
/* Display the column lines and headings */
FRAME fr_gaus col1 y cwd tht
DEFINE y @y
TEXT tx_gaus chind _ss icwd ., /*
*/ center /*
*/ label("Gaussian") /*
*/
DEFINE y2 @y
FRAME fr_invg icolskip y cwd tht
DEFINE nbinc1 @x
TEXT tx_invg1 chind for icwd ., /*
*/ center /*
*/ label("Inverse") /*
*/
DEFINE xinv @x
FRAME fr_bin icolskip y cwd tht
FRAME fr_pois colskip y @ tht
FRAME fr_nbin colskip y @ tht
DEFINE nbinc2 @x
TEXT tx_nbin1 chind for icwd ., /*
*/ center /*
*/ label("Negative") /*
*/
FRAME fr_gamm icolskip y cwd tht
TEXT tx_invg2 xinv y2 icwd ., /*
*/ center /*
*/ label("Gaussian") /*
*/
TEXT tx_bin colskip @ @ ., /*
*/ center /*
*/ label("Binomial") /*
*/
TEXT tx_pois colskip @ @ ., /*
*/ center /*
*/ label("Poisson") /*
*/
TEXT tx_nbin2 colskip @ @ ., /*
*/ center /*
*/ label("binomial") /*
*/
TEXT tx_gamm colskip @ @ ., /*
*/ center /*
*/ label("Gamma") /*
*/
/* Display the row lines and headings */
FRAME fr_id _lft skip twd rht
TEXT tx_id ilft for irhwd ., /*
*/ right /*
*/ label("Identity") /*
*/
DEFINE row1 @y
FRAME fr_log _lft skip twd rht
TEXT tx_log ilft for irhwd ., /*
*/ right /*
*/ label("Log") /*
*/
DEFINE row2 @y
FRAME fr_logit _lft skip twd rht
TEXT tx_logit ilft for irhwd ., /*
*/ right /*
*/ label("Logit") /*
*/
DEFINE row3 @y
FRAME fr_probit _lft skip twd rht
TEXT tx_probit ilft for irhwd ., /*
*/ right /*
*/ label("Probit") /*
*/
DEFINE row4 @y
FRAME fr_clog _lft skip twd rht
TEXT tx_clog ilft for irhwd ., /*
*/ right /*
*/ label("C. log-log") /*
*/
DEFINE row5 @y
FRAME fr_power _lft skip twd rht
TEXT tx_power ilft for irhwd ., /*
*/ right /*
*/ label("Power") /*
*/
DEFINE row6 @y
FRAME fr_odds _lft skip twd rht
TEXT tx_odds ilft for irhwd ., /*
*/ right /*
*/ label("Odds power") /*
*/
DEFINE row7 @y
FRAME fr_nbinr _lft skip twd rht
TEXT tx_nbinr ilft for irhwd ., /*
*/ right /*
*/ label("Neg. binom.") /*
*/
DEFINE row8 @y
FRAME fr_loglog _lft skip twd rht
TEXT tx_loglog ilft for irhwd ., /*
*/ right /*
*/ label("Log-log") /*
*/
DEFINE row9 @y
FRAME fr_logcom _lft skip twd rht
TEXT tx_logcom ilft for irhwd ., /*
*/ right /*
*/ label("Log-comp.") /*
*/
DEFINE row10 @y
/* Binomial options */
TEXT tx_bin2 _lft _ls comb2 ., /*
*/ label("Bernoulli trials (n):") /*
*/ right /*
*/
DEFINE xbin @x
DEFINE ybin @y
RADIO rb_sp_n colskip2 @ _rbwd ., /*
*/ clickon("script sp_n_on") /*
*/ first /*
*/
DEFINE x @x
SPINNER sp_n _rbsep @ _spwd ., /*
*/ min(1) /*
*/ max(1000000) /*
*/ default(1) /*
*/
TEXT tx_sp_n _spsep @ cwd ., /*
*/ label("Constant") /*
*/
RADIO rb_vn_n colskip @ _rbwd ., /*
*/ clickon("script vn_n_on") /*
*/ last /*
*/
VARNAME vn_n _rbsep @ _vnwd ., /*
*/ label("Variable") /*
*/
TEXT tx_vn_n _vnsep @ cwd ., /*
*/ label("Variable") /*
*/
/* Negative binomial option */
TEXT tx_nbin3 nbinc1 ybin comb3 ., /*
*/ label("Successes: (k) [optional]") /*
*/ right /*
*/
EDIT en_k nbinc2 @ _en7wd ., /*
*/ label("Successes") /*
*/ numonly /*
*/
/* numeric edit fields for [odds] power */
EDIT en_power rmx row7 _spwd ., /*
*/ label("Power") /*
*/ numonly /*
*/
TEXT tx_power2 @ nss rmwd ., /*
*/ label("Power") /*
*/
TEXT tx_odds2 @ nvss rmwd ., /*
*/ label("Odds") /*
*/
/* Now the radio buttons */
RADIO rb_id_ga rbcol1 row1 rbwd ., /*
*/ clickon("script none") /*
*/ first /*
*/ option("family(gaussian) link(identity)") /*
*/
RADIO rb_id_ig colskip @ rbwd ., /*
*/ clickon("script none") /*
*/ option("family(igaussian) link(identity)") /*
*/
DEFINE rbcol2 @x
RADIO rb_id_bi colskip @ rbwd ., /*
*/ clickon("script binonly") /*
*/ option("link(identity)") /*
*/
DEFINE rbcol3 @x
RADIO rb_id_po colskip @ rbwd ., /*
*/ clickon("script none") /*
*/ option("family(poisson) link(identity)") /*
*/
DEFINE rbcol4 @x
RADIO rb_id_nb colskip @ rbwd ., /*
*/ clickon("script nbinonly") /*
*/ option("link(identity)") /*
*/
DEFINE rbcol5 @x
RADIO rb_id_gm colskip @ rbwd ., /*
*/ clickon("script none") /*
*/ option("family(gamma) link(identity)") /*
*/
DEFINE rbcol6 @x
RADIO rb_lg_ga rbcol1 row2 rbwd ., /*
*/ clickon("script none") /*
*/ option("family(gaussian) link(log)") /*
*/
RADIO rb_lg_ig rbcol2 @ rbwd ., /*
*/ clickon("script none") /*
*/ option("family(igaussian) link(log)") /*
*/
RADIO rb_lg_bi rbcol3 @ rbwd ., /*
*/ clickon("script binonly") /*
*/ option("link(log)") /*
*/
RADIO rb_lg_po rbcol4 @ rbwd ., /*
*/ clickon("script none") /*
*/ option("family(poisson) link(log)") /*
*/
RADIO rb_lg_nb rbcol5 @ rbwd ., /*
*/ clickon("script nbinonly") /*
*/ option("link(log)") /*
*/
RADIO rb_lg_gm rbcol6 @ rbwd ., /*
*/ clickon("script none") /*
*/ option("family(gamma) link(log)") /*
*/
RADIO rb_lt_bi rbcol3 row3 rbwd ., /*
*/ clickon("script binonly") /*
*/ option("link(logit)") /*
*/
RADIO rb_pr_bi rbcol3 row4 rbwd ., /*
*/ clickon("script binonly") /*
*/ option("link(probit)") /*
*/
RADIO rb_cl_bi rbcol3 row5 rbwd ., /*
*/ clickon("script binonly") /*
*/ option("link(cloglog)") /*
*/
RADIO rb_pw_ga rbcol1 row6 rbwd ., /*
*/ clickon("script ponly") /*
*/ option("family(gaussian)") /*
*/
RADIO rb_pw_ig rbcol2 @ rbwd ., /*
*/ clickon("script ponly") /*
*/ option("family(igaussian)") /*
*/
RADIO rb_pw_bi rbcol3 @ rbwd ., /*
*/ clickon("script pbin") /*
*/ option(NONE) /*
*/
RADIO rb_pw_po rbcol4 @ rbwd ., /*
*/ clickon("script ponly") /*
*/ option("family(poisson)") /*
*/
RADIO rb_pw_nb rbcol5 @ rbwd ., /*
*/ clickon("script pnbin") /*
*/ option(NONE) /*
*/
RADIO rb_pw_gm rbcol6 @ rbwd ., /*
*/ clickon("script ponly") /*
*/ option("family(gamma)") /*
*/
RADIO rb_op_bi rbcol3 row7 rbwd ., /*
*/ clickon("script obin") /*
*/ option(NONE) /*
*/
RADIO rb_nb_nb rbcol5 row8 rbwd ., /*
*/ clickon("script nbinonly") /*
*/ option("link(nbinomial)") /*
*/
RADIO rb_ll_bi rbcol3 row9 rbwd ., /*
*/ clickon("script binonly") /*
*/ option("link(loglog)") /*
*/
RADIO rb_lc_bi rbcol3 row10 rbwd ., /*
*/ clickon("script binonly") /*
*/ option("link(logc)") /*
*/ last /*
*/
END
SCRIPT none
BEGIN
script poweroff
script binoff
script nbinoff
END
SCRIPT binonly
BEGIN
script poweroff
script binon
script nbinoff
END
SCRIPT nbinonly
BEGIN
script poweroff
script binoff
script nbinon
END
SCRIPT ponly
BEGIN
script poweron
script binoff
script nbinoff
END
SCRIPT oonly
BEGIN
script oddson
script binoff
script nbinoff
END
SCRIPT pbin
BEGIN
script poweron
script binon
script nbinoff
END
SCRIPT pnbin
BEGIN
script poweron
script binoff
script nbinon
END
SCRIPT obin
BEGIN
script oddson
script binon
script nbinoff
END
SCRIPT binon
BEGIN
main.tx_bin2.show
main.rb_sp_n.show
main.sp_n.show
main.tx_sp_n.show
main.rb_vn_n.show
main.vn_n.show
main.tx_vn_n.show
END
SCRIPT sp_n_on
BEGIN
main.sp_n.enable
main.vn_n.disable
END
SCRIPT vn_n_on
BEGIN
main.sp_n.disable
main.vn_n.enable
END
SCRIPT binoff
BEGIN
main.tx_bin2.hide
main.rb_sp_n.hide
main.sp_n.hide
main.tx_sp_n.hide
main.rb_vn_n.hide
main.vn_n.hide
main.tx_vn_n.hide
END
SCRIPT nbinon
BEGIN
main.tx_nbin3.show
main.en_k.show
END
SCRIPT nbinoff
BEGIN
main.tx_nbin3.hide
main.en_k.hide
END
SCRIPT poweron
BEGIN
main.tx_odds2.hide
main.tx_power2.show
main.en_power.show
main.en_power.setlabel "Power"
END
SCRIPT oddson
BEGIN
main.tx_odds2.show
main.tx_power2.show
main.en_power.show
main.en_power.setlabel "Odds power"
END
SCRIPT poweroff
BEGIN
main.tx_power2.hide
main.tx_odds2.hide
main.en_power.hide
END
DIALOG model2, tabtitle("Model 2")
BEGIN
GROUPBOX gb_opt _lft _top _iwd _ht13, /*
*/ label("Options") /*
*/
CHECKBOX ck_nocons _ilft _ms _cwd2 ., /*
*/ label("Suppress constant term") /*
*/ option("noconstant") /*
*/
RADIO rb_expose _ilft _ls _cwd4_1 ., /*
*/ label("Exposure variable:") /*
*/ first /*
*/ clickon("script expose") /*
*/
RADIO rb_offset _ilft4_2 @ @ ., /*
*/ label("Offset variable:") /*
*/ last /*
*/ clickon("script offset") /*
*/
VARNAME vn_expose _ilft _ss @ ., /*
*/ label("Exposure variable") /*
*/ option("exposure") /*
*/
VARNAME vn_offset _ilft4_2 @ @ ., /*
*/ label("Offset variable") /*
*/ option("offset") /*
*/
TEXT tx_init _ilft _ls _cwd1 ., /*
*/ label("Initial mean estimates variable:") /*
*/
VARNAME vn_mu _ilft _ss _vnwd ., /*
*/ label("Initial mean estimates variable") /*
*/ option("mu") /*
*/
TEXT tx_note _lft4_2 @ _comb4_3 ., /*
*/ label("Note: This is an advanced option that may help with convergence.")
END
SCRIPT expose
BEGIN
model2.vn_expose.enable
model2.vn_offset.disable
END
SCRIPT offset
BEGIN
model2.vn_expose.disable
model2.vn_offset.enable
END
INCLUDE byifin
INCLUDE weights_fpai
INCLUDE se
SCRIPT PREINIT
BEGIN
script se_createAsGLM
END
DIALOG rpt, tabtitle("Reporting")
BEGIN
DEFINE _x _lft
DEFINE _cx _spr2
DEFINE _y _top
INCLUDE _sp_level
CHECKBOX ck_eform _lft _ls _iwd ., /*
*/ label("Report exponentiated coefficients") /*
*/ option("eform") /*
*/
END
PROGRAM rpt_output
BEGIN
optionarg /hidedefault rpt.sp_level
option rpt.ck_eform
END
INCLUDE max_glm
SCRIPT POSTINIT
BEGIN
program max_create_glm
END
PROGRAM command
BEGIN
allowxi
INCLUDE _by_pr
put "glm "
varlist main.vn_dv [main.vl_iv]
INCLUDE _weights_pr
INCLUDE _ifin_pr
beginoptions
if main.rb_id_bi | main.rb_lg_bi | main.rb_lt_bi /*
*/ | main.rb_pr_bi | main.rb_cl_bi | main.rb_pw_bi /*
*/ | main.rb_op_bi | main.rb_ll_bi | main.rb_lc_bi {
put "family(binomial"
if main.rb_sp_n {
put " " main.sp_n
}
if main.rb_vn_n & main.vn_n {
varlist main.vn_n
}
put ") "
}
if main.rb_id_nb | main.rb_lg_nb | main.rb_pw_nb /*
*/ | main.rb_nb_nb {
put "family(nbinomial"
if main.en_k {
put " " main.en_k
}
put ") "
}
option main.rb_id_ga main.rb_id_ig main.rb_id_bi /*
*/ main.rb_id_po main.rb_id_nb main.rb_id_gm
option main.rb_lg_ga main.rb_lg_ig main.rb_lg_bi /*
*/ main.rb_lg_po main.rb_lg_nb main.rb_lg_gm
option main.rb_lt_bi main.rb_pr_bi main.rb_cl_bi
option main.rb_pw_ga main.rb_pw_ig main.rb_pw_bi /*
*/ main.rb_pw_po main.rb_pw_nb main.rb_pw_gm
option main.rb_op_bi main.rb_nb_nb main.rb_ll_bi /*
*/ main.rb_lc_bi
if main.rb_pw_ga | main.rb_pw_ig | main.rb_pw_bi /*
*/ | main.rb_pw_po | main.rb_pw_nb | main.rb_pw_gm {
require main.en_power
put " link(power " main.en_power ")"
}
if main.rb_op_bi {
require main.en_power
put " link(opower " main.en_power ")"
}
option model2.ck_nocons
optionarg model2.vn_expose
optionarg model2.vn_offset
optionarg model2.vn_mu
put " " /program se_output
put " " /program rpt_output
put " " /program max_glm_output
endoptions
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -