📄 sureg.ado
字号:
*! version 4.0.12 26feb2005
program define sureg, eclass byable(recall)
version 6.0, missing
if replay() {
if `"`e(cmd)'"' != "sureg" { error 301 }
else {
if _by() { error 190 }
syntax [ , Corr noHeader noTable /*
*/ Level(cilevel) ]
reg3 , level(`level') `header' `table'
}
}
else {
local stop 0
while !`stop' {
gettoken eqn 0 : 0, parse(" ,[") match(paren)
IsStop stop : `"`eqn'"'
if !`stop' {
if "`paren'" != "" {
local alleqn "`alleqn' (`eqn')"
}
else local alleqn `alleqn' `eqn'
}
}
local 0 `"`eqn' `0'"'
syntax [if] [in] [aw fw] [, Constraints(string) CORr /*
*/ DFK DFK2 noHeader ITerate(int `c(maxiter)') Isure /*
*/ Level(cilevel) noLOG SMall /*
*/ noTable TOLerance(real 1e-6) TRace ]
if "`isure'" != "" { local ireg3 "ireg3" }
if "`constra'" != "" { local constra "constraint(`constra')" }
marksample touse
reg3 `alleqn' if `touse' [`weight'`exp'], `constra' `dfk' /*
*/ `dfk2' `header' iterate(`iterate') `ireg3' /*
*/ level(`level') `log' `small' `table' /*
*/ tolerance(`toleran') `trace' sure
/* saves for backward compatibility */
if _caller()<6 {
matrix S_E_rcv = e(Sigma)
}
local i 1
while `i' <= e(k_eq) {
global S_E_pv "$S_E_pv `e(p_`i')'"
global S_E_f "$S_E_f `e(F_`i')'"
global S_E_sd "$S_E_sd `e(rmse_`i')'"
global S_E_r2 "$S_E_r2 `e(r2_`i')'"
global S_E_par "$S_E_par `e(df_m`i')'"
local i = `i' + 1
}
global S_E_elis `e(eqnames)'
global S_E_neq `e(k_eq)'
global S_E_tdf = e(N)*e(k_eq) - e(k)
global S_E_nobs `e(N)'
global S_E_cmd sureg
if "`isure'" != "" {
est local method "isure"
}
else {
est local method "sure"
}
est local cmd sureg
}
if "`corr'" != "" {
di
di in gr "Correlation matrix of residuals:"
tempname mymat
mat `mymat' = corr(e(Sigma))
mat list `mymat', nohead format(%9.4f)
tempname CCp
mat `CCp' = `mymat' * `mymat''
local tsig = (trace(`CCp') - e(k_eq))*e(N) / 2
local df = `e(k_eq)' * (`e(k_eq)' - 1) / 2
di
di in gr "Breusch-Pagan test of independence: chi2(`df') = " /*
*/ in ye %9.3f `tsig' in gr ", Pr = " %6.4f /*
*/ in ye chiprob(`df',`tsig')
est scalar chi2_bp = `tsig'
est scalar df_bp = `df'
/* Double saves */
global S_3 `e(df_bp)'
global S_4 `e(chi2_bp)'
}
end
program define IsStop
args stop colon token
if `"`token'"' == "[" /*
*/ | `"`token'"' == "," /*
*/ | `"`token'"' == "if" /*
*/ | `"`token'"' == "in" /*
*/ | `"`token'"' == "" {
c_local `stop' 1
}
else c_local `stop' 0
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -