📄 svyset.ado
字号:
exit 198
}
local su
}
else return add
}
else {
di as err ///
"invalid survey characteristics;" _n ///
"sampling unit variable is not set for stage `i' of `stages' stages"
exit 459
}
if "`wt'" != "" {
local sets "`sets' `wt'"
local wt
}
_svyset get strata `i'
local strata `r(strata`i')'
if `"`strata'"' != "" {
return add
local sets `"`sets'`comma' strata(`strata')"'
local comma
}
_svyset get fpc `i'
local fpc `r(fpc`i')'
if `"`fpc'"' != "" {
return add
local sets `"`sets'`comma' fpc(`fpc')"'
local comma
}
else if `i' != `stages' {
di as err ///
"invalid survey characteristics;" _n ///
"FPC variable is not set for stage `i' of `stages' stages"
exit 459
}
local oror " || "
}
if `is_set' == 0 {
return clear
local sets ", clear"
}
else if `"`gsets'"' != "" {
local sets `"`sets'`comma' `:list retok gsets'"'
}
return local settings `"`sets'"'
if `stages' {
return scalar stages = `stages'
}
end
program GetEclass, rclass
// get the global options
if `"`e(wexp)'"' != "" {
local wt `"[`e(wtype)'`e(wexp)']"'
return local wtype `"`e(wtype)'"'
return local wexp `"`e(wexp)'"'
local is_set 1
}
if "`e(brrweight)'" != "" {
local gsets `"`gsets' brrweight(`e(brrweight)')"'
return local brrweight `e(brrweight)'
local is_set 1
}
if "`e(jkrweight)'" != "" {
local gsets `"`gsets' jkrweight(`e(jkrweight)')"'
return local jkrweight `e(jkrweight)'
local is_set 1
}
if `"`e(poststrata)'`e(postweight)'"' != "" {
local gsets `"`gsets' poststrata(`e(poststrata)')"'
local gsets `"`gsets' postweight(`e(postweight)')"'
return local poststrata `e(poststrata)'
return local postweight `e(postweight)'
local is_set 1
}
if `"`e(vce)'"' != "" {
local gsets `"`gsets' vce(`e(vce)')"'
if "`e(mse)'" != "" {
local gsets `"`gsets' mse"'
return local mse mse
}
return local vce `"`e(vce)'"'
local is_set 1
}
// get the stage specific settings
local stages = e(stages)
capture confirm integer number `stages'
if c(rc) {
local stages 0
}
else local is_set 1
local comma ","
forval i = 1/`stages' {
local comma ","
local su `e(su`i')'
if `"`su'"' != "" {
return local su`i' `su'
}
else local su _n
local sets "`sets'`oror'`su'"
if "`wt'" != "" {
local sets "`sets' `wt'"
local wt
}
local strata `e(strata`i')'
if `"`strata'"' != "" {
return local strata`i' `strata'
local sets `"`sets'`comma' strata(`strata')"'
local comma
}
local fpc `e(fpc`i')'
if `"`fpc'"' != "" {
return local fpc`i' `fpc'
local sets `"`sets'`comma' fpc(`fpc')"'
local comma
}
local oror " || "
}
if `"`gsets'"' != "" {
local sets `"`sets'`comma' `:list retok gsets'"'
}
return local settings `"`sets'"'
if `stages' {
return scalar stages = `stages'
}
end
program GetOld, rclass
quietly svyset_8
if "`r(_svy)'" != "set" {
local sets ", clear"
}
else {
local comma ","
if "`r(psu)'" != "" {
return local su1 `"`r(psu)'"'
local sets `"`r(psu)'"'
}
else {
local sets _n
}
if "`r(wtype)'" != "" {
return local wtype `"`r(wtype)'"'
return local wexp `"`r(wexp)'"'
local sets `"`sets' [`r(wtype)'`r(wexp)']"'
}
if "`r(strata)'" != "" {
return local strata1 `"`r(strata)'"'
local sets ///
`"`sets'`comma' strata(`r(strata)')"'
local comma
}
if "`r(fpc)'" != "" {
return local fpc1 `"`r(fpc)'"'
local sets ///
`"`sets'`comma' fpc(`r(fpc)')"'
}
return scalar stages = 1
return local vce "linearized"
local vce "`comma' vce(linearized)"
}
return local settings `"`:list retok sets'`vce'"'
end
program Display
syntax [, eclass ]
Get, `eclass'
if `"`r(settings)'"' == ", clear" {
di as txt "no survey characteristics are set"
exit
}
di
// display global settings
local c2 16
local sfmt %13s
if `"`r(wtype)'"' != "" {
local wvar `"`r(wexp)'"'
gettoken equal wvar : wvar, parse(" =")
local wvar : list retok wvar
di as txt `sfmt' "`r(wtype)'" ":" _col(`c2') as res "`wvar'"
}
else {
di as txt `sfmt' "pweight" ":" _col(`c2') "<none>"
}
if `"`r(vce)'"' != "" {
di as txt `sfmt' "VCE" ":" _col(`c2') as res "`r(vce)'"
if !inlist("`r(vce)'", "", "linearized") {
if "`r(mse)'" == "" {
local mseas as txt
local onoff off
}
else {
local mseas as res
local onoff on
}
di as txt `sfmt' "MSE" ":" _col(`c2') `mseas' "`onoff'"
}
}
else {
di as txt `sfmt' "VCE" ":" _col(`c2') "linearized"
}
local colsets 1 `c2' `c2' 2
if `"`r(brrweight)'"' != "" {
di "{p2colset `colsets'}{...}"
di as txt "{p2col:{space 4}brrweight:}" ///
as res "`r(brrweight)'{p_end}"
di "{p2colreset}{...}"
}
if `"`r(jkrweight)'"' != "" {
di "{p2colset `colsets'}{...}"
di as txt "{p2col:{space 4}jkrweight:}" ///
as res "`r(jkrweight)'{p_end}"
di "{p2colreset}{...}"
}
if `"`r(poststrata)'"' != "" {
di as txt `sfmt' "Poststrata" ":" ///
_col(`c2') as res "`r(poststrata)'"
}
if `"`r(postweight)'"' != "" {
di as txt `sfmt' "Postweight" ":" ///
_col(`c2') as res "`r(postweight)'"
}
if !missing(r(stages)) {
local stages = r(stages)
}
else {
local stages = 0
}
forval i = 1/`stages' {
if `"`r(strata`i')'"' != "" {
di as txt `sfmt' "Strata `i'" ":" ///
_col(`c2') as res "`r(strata`i')'"
}
else { // if `i' == 1 {
di as txt `sfmt' "Strata `i'" ":" ///
_col(`c2') "<one>"
}
if !inlist(`"`r(su`i')'"', "", "_n") {
di as txt `sfmt' "SU `i'" ":" ///
_col(`c2') as res "`r(su`i')'"
}
else {
di as txt `sfmt' "SU `i'" ":" ///
_col(`c2') "<observations>"
}
if `"`r(fpc`i')'"' != "" {
di as txt `sfmt' "FPC `i'" ":" ///
_col(`c2') as res "`r(fpc`i')'"
}
else di as txt `sfmt' "FPC `i'" ":" ///
_col(`c2') as txt "<zero>"
}
di as txt "{p2colreset}{...}"
end
program ParseOld
quietly svyset_8 `0'
if "`r(psu)'" == "" | "`r(srs)'" != "" {
local uni1 _n
}
else local uni1 `r(psu)'
if "`r(wtype)'" != "" {
local wt [`r(wtype)'`r(wexp)']
}
if "`r(strata)'" != "" {
local strata strata(`strata')
}
if "`r(fpc)'" != "" {
local fpc fpc(`fpc')
}
c_local 0 `"`psu' `wt', `strata' `fpc'"'
end
program JKnifeVChars, sclass
capture noisily ///
syntax [varlist(default=none)] [, ///
STRatum(numlist integer) ///
FPC(numlist >=0) ///
MULTiplier(numlist >0) ///
reset ///
]
local nvar : word count `varlist'
local nstr : word count `stratum'
local nfpc : word count `fpc'
local nmult : word count `multiplier'
local invalid `c(rc)'
if `nvar' == 0 & ( `nstr'`nfpc'`nmult' | "`reset'" != "") {
jkrInvalid
}
if `nstr' > 1 & `nstr' != `nvar' {
di as err "invalid number of stratum identifiers"
if `nstr' < `nvar' {
jkrInvalid 103
}
else jkrInvalid 102
}
if `nfpc' > 1 & `nfpc' != `nvar' {
di as err "invalid number of FPC values"
if `nfpc' < `nvar' {
jkrInvalid 103
}
else jkrInvalid 102
}
if `nmult' > 1 & `nmult' != `nvar' {
di as err "invalid number of jackknife multiplier values"
if `nmult' < `nvar' {
jkrInvalid 103
}
else jkrInvalid 102
}
local noreset = "`reset'" == ""
if `nstr'`nfpc'`nmult' | `"`reset'"' != "" {
local str `"`stratum'"'
if `nstr' > 1 {
local strlist `"`stratum'"'
local stratum
}
if `nfpc' > 1 {
local fpclist `"`fpc'"'
}
local mult `"`multiplier'"'
if `nmult' > 1 {
local multlist `"`multiplier'"'
local multiplier
}
forval i = 1/`nvar' {
local var : word `i' of `varlist'
if `nstr' > 1 {
local str : word `i' of `strlist'
}
if `nfpc' > 1 {
local fpc : word `i' of `fpclist'
}
if `nmult' > 1 {
local mult : word `i' of `multlist'
}
local char : char `var'[jk_stratum]
if `noreset' ///
& !inlist(`"`char'"',"","`str'") {
di as err "{p 0 0 2}" ///
"characteristic `var'[jk_stratum] already exists " ///
"and is different from the value supplied to stratum()"
exit 459
}
else char `var'[jk_stratum] `str'
local char : char `var'[jk_fpc]
if `noreset' ///
& !inlist(`"`char'"',"","`fpc'") {
di as err "{p 0 0 2}" ///
"characteristic `var'[jk_fpc] already exists " ///
"and is different from the value supplied to fpc()"
exit 459
}
else char `var'[jk_fpc] `fpc'
local char : char `var'[jk_multiplier]
if `noreset' ///
& !inlist(`"`char'"',"","`mult'") {
di as err "{p 0 0 2}" ///
"characteristic `var'[jk_multiplier] already exists " ///
"and is different from the value supplied to multiplier()"
exit 459
}
else char `var'[jk_multiplier] `mult'
}
}
sreturn local varlist `"`varlist'"'
end
program jkrInvalid
args rc
di as err "option jkrweight() incorrectly specified"
if "`rc'" == "" {
exit 198
}
else exit `rc'
end
exit
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -