⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 _coef_table.ado

📁 是一个经济学管理应用软件 很难找的 但是经济学学生又必须用到
💻 ADO
📖 第 1 页 / 共 2 页
字号:
	if `tsdvn' > 0 {
		.`Tab'.titlefmt  %-12s . . . . . .
		forval i = 1/`tsdvn' {
			.`Tab'.titles "`op_`i''" "" "" "" "" "" ""
		}
		.`Tab'.titlefmt  %12s . . . . . .
	}
	.`Tab'.titles	"`depvar'"	/// 1
			"`coef'"	/// 2
			"Std. Err."	/// 3
			"`stat'"	/// 4
			"P>|`stat'|"			/// 5
			`"[`=strsubdp("`level'")'% Conf. Interval]"' ""	//  6 7
end

program MLineTSop
	args c_op c_dv c_n COLON op vn

	local n 1

	// operator fits on a line by itself
	if `:length local op' < 12 {
		c_local `c_op'1	`"`op'."'
		local vn = abbrev(`"`vn'"',12)
		c_local `c_dv'	`"`vn'"'
		c_local `c_n'	`n'
		exit
	}

	c_local `c_op'`n' = substr(`"`op'"',1,12)
	local op = substr(`"`op'"',13,.)
	while `:length local op' >= 12 {
		local ++n
		c_local `c_op'`n' = substr(`"`op'"',1,12)
		local op = substr(`"`op'"',13,.)
	}
	if `"`op'"' == "" {
		local vn = abbrev(`"`vn'"', 12)
		c_local `c_dv' `"`vn'"'
	}
	else {
		local rest `"`op'.`vn'"'
		if `:length local rest' <= 12 {
			c_local `c_dv' `"`rest'"'
		}
		else {
			local ++n
			c_local `c_op'`n' `"`op'."'
			local vn = abbrev(`"`vn'"', 12)
			c_local `c_dv' `"`vn'"'
		}
	}
	c_local `c_n' `n'
end

program DisplayEqns
	_on_colon_parse `0'
	local eqlist `"`s(before)'"'
	if (`: word count `eqlist'' == 0) exit

	local 0 `s(after)'
	syntax name(name=Tab) [,	///
		First			///
		EForm(passthru)		///
		ERRormat(name)		///
		*			///
	]

	local coleq : coleq e(b), quote
	local coleq : list clean coleq
	local colna : colna e(b)
	local neq   : word count `coleq'

	// index of first element
	local ucoleq : list uniq coleq
	local start : list posof "`:word 1 of `eqlist''" in coleq

	// loop through the coefficients, displaying those that belong to the
	// specified equations

	local i `start'
	local oldeq // start fresh
	while `i' <= `neq' {
		local eq : word `i' of `coleq'
		local qeq `""`eq'""'
		// exit if the current equation is not in the list
		local break = (!`:list eq in eqlist' & !`:list qeq in eqlist')
		if (`break') continue, break

		local na : word `i' of `colna'
		local nna : word `=`i'+1' of `colna'
		if `"`eq'"' != `"`oldeq'"' {

			if "`offset'" != "" {
				// display offset of previous equation
				Offset `Tab' `"`offset'"' `"`offtyp'"'
				local offset
				local offtyp
			}
			.`Tab'.sep
			if "`first'" == "" & `"`eq'"' != "_" {
				local abeq = abbrev(`"`eq'"',12)
				// columns           1   2  3  4  5  6  7
				.`Tab'.strcolor result   .  .  .  .  .  .
				.`Tab'.strfmt    %-12s   .  .  .  .  .  .
				.`Tab'.row   `"`abeq'"' "" "" "" "" "" ""
				.`Tab'.strcolor   text   .  .  .  .  .  .
				.`Tab'.strfmt     %12s   .  .  .  .  .  .
			}
			local oldeq `"`eq'"'

			// get offset of current equation
			local ieq : list posof `"`eq'"' in ucoleq
			_get_offopt `e(offset)'`e(offset`ieq')'
			local offset `s(offvar)'
			if "`s(offopt)'" == "offset(`offset')" {
				local offtyp "(offset)"
			}
			else if "`s(offopt)'" != "" {
				local offtyp "(exposure)"
			}
		}
		if `"`eform'"' == "" | "`na'" != "_cons" {
			gettoken op vn : na, parse(".")
			gettoken nop nvn : nna, parse(".")
			if "`nvn'" == ".`na'" | ".`oldvn'" == ".`na'" {
				local nulltsop nulltsop
				local vn ".`na'"
			}
			else	local nulltsop
			if "`vn'" != "" & ".`oldvn'" != "`vn'" {
				local vn = abbrev(substr("`vn'",2,.),12)
				// columns           1  2  3  4  5  6  7
				.`Tab'.row    `"`vn'"' "" "" "" "" "" ""
				local oldvn `vn'
			}
			else if "`vn'" == "" {
				local oldvn
			}
			if "`errormat'" != "" {
				local erropt error(`=`errormat'[1,`i']')
			}
			Row `Tab' `"`qeq'"' "`na'", ///
				`options' `eform' `erropt' `nulltsop'
		}
		local ++i
	}
	if "`offset'" != "" {
		// display offset of last displayed equation
		Offset `Tab' `"`offset'"' `"`offtyp'"'
		local offset
		local offtyp
	}
end

program Offset
	args Tab offset offtyp
	local offset = abbrev("`offset'", 12)
	.`Tab'.strcolor           .         text   .  .  .  .  .
	.`Tab'.row	`"`offset'"' `"`offtyp'"' "" "" "" "" ""
	.`Tab'.strcolor           .       result   .  .  .  .  .
end

program Row
	syntax anything [,			///
		Level(cilevel)			///
		EForm(passthru)			///
		ERRor(integer 0)		///
		df(real 0)			///
		z(name)				///
		NULLTSOP			///
	]
	local 0 `anything'
	args Tab eq na
	local eq : list clean eq
	tempname b se t p ll ul
	if `"`eq'"' != "_" {
		scalar `b'  = [`eq']_b[`na']
		scalar `se' = [`eq']_se[`na']
	}
	else {
		scalar `b'  = _b[`na']
		scalar `se' = _se[`na']
	}
	if `se' == 0 & `"`e(census)'"' == "1" {
		scalar `t' = .
		scalar `p' = .
		scalar `ll' = .
		scalar `ul' = .
	}
	else {
		if `se' == 0 {
			scalar `se' = .
		}
		scalar `t' = `b'/`se'
		if missing(`df') {
			scalar `p' = 2*norm(-abs(`t'))
		}
		else	scalar `p' = 2*ttail(`df',abs(`t'))
		scalar `ll' = `b' - `se'*`z'
		scalar `ul' = `b' + `se'*`z'
		if "`eform'" != "" {
			scalar `b'  = exp(`b')
			scalar `se' = `b'*`se'
			scalar `ll' = exp(`ll')
			scalar `ul' = exp(`ul')
		}
	}

	if "`nulltsop'" != "" {
		local na "--.`na'"
	}
	gettoken op vn : na, parse(".")
	if "`vn'" != "" {
		if `:length local op' == 1 {
			local op `op'1
		}
		local na `"`op'."'
		while `:length local na' > 12 {
			.`Tab'.strfmt %11s . . . . . .
			local n1 = substr("`na'",1,10)
			.`Tab'.row "`n1'" "" "" "" "" "" ""
			local na = substr("`na'",11,.)
		}
		.`Tab'.strfmt %12s . . . . . .
	}
	else	local na = abbrev("`na'",12)

	local error1 "  (no observations)"
	local error2 "  (stratum with 1 PSU detected)"
	local error3 "  (sum of weights equals zero)"
	local error4 "  (denominator estimate equals zero)"
	local error5 "  (dropped)"

	if `error' {
		.`Tab'.row "`na'" "`error`error''" "" "" "" "" ""
	}
	else if `b'== 0 & `se' >= . {
		.`Tab'.row "`na'" "`error5'" "" "" "" "" ""
	}
	else {
		.`Tab'.row "`na'" `b' `se' `t' `p' `ll' `ul'
	}
end

program GetEDiparm
	args c_diparm
	if `"`e(diparm)'`e(diparm1)'"' != "" {
		if `"`e(diparm)'"' != "" {
			local i 0
			local ediparmi `"`e(diparm)'"'
		}
		else if `"`e(diparm1)'"' != "" {
			local i 1
			local ediparmi `"`e(diparm1)'"'
		}
	}
	while `"`ediparmi'"' != "" {
		local diparm `diparm' diparm(`ediparmi')
		local ++i
		local ediparmi `"`e(diparm`i')'"'
	}
	c_local `c_diparm' `diparm'
end

program Chk4Scalars
	syntax namelist
	local nonscalars `: r(macros)' `: r(matrices)'
	local badmac : list nonscalars & namelist
	if "`badmac'" != "" {
		gettoken name : badmac
		di as err "type mismatch: e(`name') is not a scalar"
		exit 109
	}
end

program Chk4PosInt
	args ename
	if `"`e(`ename')'"' != "" {
		capture confirm integer number `e(`ename')'
		if !c(rc) {
			if `e(`ename')' > 0 {
				c_local `ename' `e(`ename')'
			}
		}
	}
end

program Chk4NNInt
	args ename
	if `"`e(`ename')'"' != "" {
		capture confirm integer number `e(`ename')'
		if !c(rc) {
			if `e(`ename')' >= 0 {
				c_local `ename' `e(`ename')'
			}
		}
	}
end

program Chk4Int
	args ename
	if `"`e(`ename')'"' != "" {
		capture confirm integer number `e(`ename')'
		if !c(rc) {
			c_local `ename' `e(`ename')'
		}
	}
end

exit

NOTES:

-_coef_table- looks at the following scalars to determine which equations are
put in the table of results, and how they are put there:

	e(k_eq)		-- total number of equations, missing value implies 1
	e(k_aux)	-- number of ancillary parameters (each an equation)
	e(k_extra)	-- extra equations
	e(k_eform)	-- the first `e(k_eform)' equations' coefficients will
			   be exponentiated when an 'eform' type option is
			   specified; default is 1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -