rotate.dlg
来自「是一个经济学管理应用软件 很难找的 但是经济学学生又必须用到」· DLG 代码 · 共 999 行 · 第 1/2 页
DLG
999 行
/*
rotate
*! VERSION 1.0.1 24mar2005
*/
VERSION 9.0
INCLUDE _std_large
DEFINE _dlght 340
INCLUDE header
HELP hlp1, view("help rotate")
RESET res1
DIALOG main, tabtitle("Main") ///
label("rotate - Orthogonal and oblique rotations after factor and pca")
BEGIN
GROUPBOX gb_method _lft _top _iwd 190, ///
label("Rotation method")
RADIO rb_ortho _indent _ss _comb3_2 ., ///
first ///
label("Orthogonal rotation") ///
onclickon("script ortho_on")
COMBOBOX lb_ortho 40 _ss _comb3_4 ., ///
label("Rotation method") dropdownlist ///
contents(main_ortho_contents) ///
values(main_ortho_values) ///
onselchangelist(main_ortho_scripts)
RADIO rb_oblique _ilft +55 _comb3_2 ., ///
last ///
label("Oblique rotation") ///
onclickon("script oblique_on")
COMBOBOX lb_oblique 40 _ss _comb3_4 ., ///
label("Rotation method") dropdownlist ///
contents(main_oblique_contents) ///
values(main_oblique_values) ///
onselchangelist(main_oblique_scripts)
// for promax power only
EDIT en_propow _lft3_3 125 _en7wd ., ///
numonly default(3) ///
label("Promax power")
TEXT tx_propow _en7sep @ 80 ., ///
label("Promax power")
// for oblimin only
TEXT tx_oblimin_or _lft3_3 30 _cwd3_2 ., ///
label("Use gamma = #")
EDIT en_oblimin_or _lft3_3 _ss _en7wd ., ///
numonly default(0) ///
label("Oblimin criterion")
TEXT tx_obliminnum_or _en7sep @ 80 ., ///
label("#")
TEXT tx_oblimin_ob _lft3_3 105 _cwd3_2 ., ///
label("Use gamma = #")
EDIT en_oblimin_ob _lft3_3 _ss _en7wd ., ///
numonly default(0) ///
label("Oblimin criterion")
TEXT tx_obliminnum_ob _en7sep @ 80 ., ///
label("#")
// for cf only
TEXT tx_cf_or _lft3_3 30 _cwd3_2 ., ///
label("Use kappa = #")
EDIT en_cf_or _lft3_3 _ss _en7wd ., ///
numonly ///
label("Kappa value")
TEXT tx_cfnum_or _en7sep @ 80 ., ///
label("0 <= # <= 1")
TEXT tx_cf_ob _lft3_3 105 _cwd3_2 ., ///
label("Use kappa = #")
EDIT en_cf_ob _lft3_3 _ss _en7wd ., ///
numonly ///
label("Kappa value")
TEXT tx_cfnum_ob _en7sep @ 80 ., ///
label("0 <= # <= 1")
// for target only
TEXT tx_target_or _lft3_3 30 _cwd3_2 ., ///
label("Rotate toward matrix (Tg):")
COMBOBOX cb_target_or @ _ss _vnwd ., ///
label("Matrix Tg") ///
dropdown ///
contents(matrix)
TEXT tx_target_ob _lft3_3 105 _cwd3_2 ., ///
label("Rotate toward matrix (Tg):")
COMBOBOX cb_target_ob @ _ss _vnwd ., ///
label("Matrix Tg") ///
dropdown ///
contents(matrix)
// for partial only
TEXT tx_partial_or _lft3_3 30 _cwd3_2 ., ///
label("Rotate toward matrix (Tg):")
COMBOBOX cb_partial_or @ _ss _vnwd ., ///
label("Matrix Tg") ///
dropdown ///
contents(matrix)
TEXT tx_weighted_or @ _ms _cwd3_2 ., ///
label("Weighted matrix (W):")
COMBOBOX cb_weighted_or @ _ss _vnwd ., ///
label("Matrix W") ///
dropdown ///
contents(matrix)
TEXT tx_partial_ob _lft3_3 105 _cwd3_2 ., ///
label("Rotate toward matrix (Tg):")
COMBOBOX cb_partial_ob @ _ss _vnwd ., ///
label("Matrix Tg") ///
dropdown ///
contents(matrix)
TEXT tx_weighted_ob @ _ms _cwd3_2 ., ///
label("Weighted matrix (W):")
COMBOBOX cb_weighted_ob @ _ss _vnwd ., ///
label("Matrix W") ///
dropdown ///
contents(matrix)
// other options
GROUPBOX gb_opt _lft 210 _iwd _ht9, ///
label("Option")
CHECKBOX ck_clear _ilft _ss _ibwd ., ///
option(clear) ///
onclickon(program ck_clear_on) ///
onclickoff(program ck_clear_off) ///
label("Remove rotation results from the estimation command (i.e. clear)")
CHECKBOX ck_horst @ _ms @ ., ///
option(horst) ///
label("Apply the Horst normalization")
CHECKBOX ck_factors _ilft _ms _iwd ., ///
onclickon(script ck_factors_on) ///
onclickoff(script ck_factors_off) ///
label("Specify the number of factors or components to be rotated")
SPINNER sp_factors _cksep _ss _spwd ., ///
min(1) default(1) max(10000) ///
option(factors) ///
label("Number of factors")
TEXT tx_factors _spsep @ _cksprb ., ///
label("#")
END
SCRIPT ck_factors_on
BEGIN
main.sp_factors.enable
main.tx_factors.enable
END
SCRIPT ck_factors_off
BEGIN
main.sp_factors.disable
main.tx_factors.disable
END
PROGRAM ck_clear_on
BEGIN
if main.rb_ortho {
call program desel_ortho
call main.lb_ortho.disable
}
if main.rb_oblique {
call program desel_oblique
call main.lb_oblique.disable
}
call main.gb_method.disable
call main.rb_ortho.disable
call main.rb_oblique.disable
call main.ck_horst.disable
call main.ck_factors.disable
if main.ck_factors {
call main.sp_factors.disable
call main.tx_factors.disable
}
call report.ck_blanks.disable
if report.ck_blanks {
call report.en_blanks.disable
call report.tx_blanks.disable
}
call report.ck_detail.disable
if report.ck_detail {
call report.ck_format.disable
if report.ck_format {
call report.en_format.disable
}
call report.ck_noloading.disable
call report.ck_norotation.disable
}
if !(main.rb_ortho & main.lb_ortho.equals("")) {
call script rotate_opt_opts_disable
}
END
PROGRAM ck_clear_off
BEGIN
if main.rb_ortho {
call main.lb_ortho.enable
if main.lb_ortho.equals("oblimin") {
call main.tx_oblimin_or.show
call main.en_oblimin_or.show
call main.tx_obliminnum_or.show
}
if main.lb_ortho.equals("cf") {
call main.tx_cf_or.show
call main.en_cf_or.show
call main.tx_cfnum_or.show
}
if main.lb_ortho.equals("target") {
call main.tx_target_or.show
call main.cb_target_or.show
}
if main.lb_ortho.equals("partial") {
call main.tx_partial_or.show
call main.cb_partial_or.show
call main.tx_weighted_or.show
call main.cb_weighted_or.show
}
}
if main.rb_oblique {
call main.lb_oblique.enable
if main.lb_oblique.equals("promax") {
call main.tx_propow.show
call main.en_propow.show
}
if main.lb_oblique.equals("oblimin") {
call main.tx_oblimin_ob.show
call main.en_oblimin_ob.show
call main.tx_obliminnum_ob.show
}
if main.lb_oblique.equals("cf") {
call main.tx_cf_ob.show
call main.en_cf_ob.show
call main.tx_cfnum_ob.show
}
if main.lb_oblique.equals("target") {
call main.tx_target_ob.show
call main.cb_target_ob.show
}
if main.lb_oblique.equals("partial") {
call main.tx_partial_ob.show
call main.cb_partial_ob.show
call main.tx_weighted_ob.show
call main.cb_weighted_ob.show
}
}
call main.gb_method.enable
call main.rb_ortho.enable
call main.rb_oblique.enable
call main.ck_horst.enable
call main.ck_factors.enable
if main.ck_factors {
call main.sp_factors.enable
call main.tx_factors.enable
}
call report.ck_blanks.enable
if report.ck_blanks {
call report.en_blanks.enable
call report.tx_blanks.enable
}
call report.ck_detail.enable
if report.ck_detail {
call report.ck_format.enable
if report.ck_format {
call report.en_format.enable
}
call report.ck_noloading.enable
call report.ck_norotation.enable
}
if !(main.rb_ortho & main.lb_ortho.equals("")) {
call script rotate_opt_opts_enable
}
END
SCRIPT POSTINIT
BEGIN
main.tx_propow.hide
main.en_propow.hide
main.tx_oblimin_or.hide
main.en_oblimin_or.hide
main.tx_obliminnum_or.hide
main.tx_oblimin_ob.hide
main.en_oblimin_ob.hide
main.tx_obliminnum_ob.hide
main.tx_cf_or.hide
main.en_cf_or.hide
main.tx_cfnum_or.hide
main.tx_cf_ob.hide
main.en_cf_ob.hide
main.tx_cfnum_ob.hide
main.tx_target_or.hide
main.cb_target_or.hide
main.tx_target_ob.hide
main.cb_target_ob.hide
main.tx_partial_or.hide
main.cb_partial_or.hide
main.tx_weighted_or.hide
main.cb_weighted_or.hide
main.tx_partial_ob.hide
main.cb_partial_ob.hide
main.tx_weighted_ob.hide
main.cb_weighted_ob.hide
script rotate_opt_opts_disable
END
LIST main_ortho_contents
BEGIN
"Varimax (default)"
"Varimax via the GPF algorithm"
"Quartimax"
"Equamax"
"Parsimax"
"Minimum entropy"
"Comrey's tandem 1 principle"
"Comrey's tandem 2 principle"
"Oblimin"
"Crawford-Ferguson family"
"Bentler's invariant pattern simplicity"
"Oblimax"
"Quartimin"
"Rotate toward matrix Tg"
"Rotate toward matrix Tg, weighted by matrix W"
END
LIST main_ortho_values
BEGIN
""
vgpf
quartimax
equamax
parsimax
entropy
tandem1
tandem2
oblimin
cf
bentler
oblimax
quartimin
target
partial
END
LIST main_ortho_scripts
BEGIN
program varimax_on
program vgpf_on
program quartimax_on
program equamax_on
program parsimax_on
program entropy_on
program tandem1_on
program tandem2_on
program oblimin_on
program cf_on
program bentler_on
program oblimax_on
program quartimin_on
program target_on
program partial_on
END
LIST main_oblique_contents
BEGIN
"Promax"
"Oblimin"
"Crawford-Ferguson family"
"Bentler's invariant pattern simplicity"
"Oblimax"
"Quartimin"
"Rotate toward matrix Tg"
"Rotate toward matrix Tg, weighted by matrix W"
END
LIST main_oblique_values
BEGIN
promax
oblimin
cf
bentler
oblimax
quartimin
target
partial
END
LIST main_oblique_scripts
BEGIN
program promax_on
program oblimin_on
program cf_on
program bentler_on
program oblimax_on
program quartimin_on
program target_on
program partial_on
END
PROGRAM varimax_on
BEGIN
call main.tx_oblimin_or.hide
call main.en_oblimin_or.hide
call main.tx_obliminnum_or.hide
call main.tx_cf_or.hide
call main.en_cf_or.hide
call main.tx_cfnum_or.hide
call main.tx_target_or.hide
call main.cb_target_or.hide
call main.tx_partial_or.hide
call main.cb_partial_or.hide
call main.tx_weighted_or.hide
call main.cb_weighted_or.hide
call script rotate_opt_opts_disable
END
PROGRAM vgpf_on
BEGIN
call main.tx_oblimin_or.hide
call main.en_oblimin_or.hide
call main.tx_obliminnum_or.hide
call main.tx_cf_or.hide
call main.en_cf_or.hide
call main.tx_cfnum_or.hide
call main.tx_target_or.hide
call main.cb_target_or.hide
call main.tx_partial_or.hide
call main.cb_partial_or.hide
call main.tx_weighted_or.hide
call main.cb_weighted_or.hide
call script rotate_opt_opts_enable
END
PROGRAM quartimax_on
BEGIN
call main.tx_oblimin_or.hide
call main.en_oblimin_or.hide
call main.tx_obliminnum_or.hide
call main.tx_cf_or.hide
call main.en_cf_or.hide
call main.tx_cfnum_or.hide
call main.tx_target_or.hide
call main.cb_target_or.hide
call main.tx_partial_or.hide
call main.cb_partial_or.hide
call main.tx_weighted_or.hide
call main.cb_weighted_or.hide
call script rotate_opt_opts_enable
END
PROGRAM equamax_on
BEGIN
call main.tx_oblimin_or.hide
call main.en_oblimin_or.hide
call main.tx_obliminnum_or.hide
call main.tx_cf_or.hide
call main.en_cf_or.hide
call main.tx_cfnum_or.hide
call main.tx_target_or.hide
call main.cb_target_or.hide
call main.tx_partial_or.hide
call main.cb_partial_or.hide
call main.tx_weighted_or.hide
call main.cb_weighted_or.hide
call script rotate_opt_opts_enable
END
PROGRAM parsimax_on
BEGIN
call main.tx_oblimin_or.hide
call main.en_oblimin_or.hide
call main.tx_obliminnum_or.hide
call main.tx_cf_or.hide
call main.en_cf_or.hide
call main.tx_cfnum_or.hide
call main.tx_target_or.hide
call main.cb_target_or.hide
call main.tx_partial_or.hide
call main.cb_partial_or.hide
call main.tx_weighted_or.hide
call main.cb_weighted_or.hide
call script rotate_opt_opts_enable
END
PROGRAM entropy_on
BEGIN
call main.tx_oblimin_or.hide
call main.en_oblimin_or.hide
call main.tx_obliminnum_or.hide
call main.tx_cf_or.hide
call main.en_cf_or.hide
call main.tx_cfnum_or.hide
call main.tx_target_or.hide
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?