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

📄 twoway__lfit_serset.ado

📁 是一个经济学管理应用软件 很难找的 但是经济学学生又必须用到
💻 ADO
字号:
*! version 1.0.1  16jan2003
program twoway__lfit_serset

	// Creates a serset for a fit view.  Runs from an immediate log.

	syntax , SERSETNAME(string) X(string) Y(string) TOUSE(string)	///
		 [ PREDOPTS(string) REGOPTS(string) ATOBS(integer 0)	///
		 POINTS(integer 2) MIN(string) MAX(string)		///
		 XTRANS(string) MOREVARS(string) WEIGHT(string)		///
		 LEVEL(real `c(level)') STD(string) ]

	tempname esthold
	_estimates hold `esthold' , nullok restore

	if `"`xtrans'"' != `""' {
		tempvar regx
		VarTrans `x' `regx' `"`xtrans'"'
	}
	else {
		local regx `x'
	}

	qui regress `y' `regx' [`weight'] if `touse' , `regopts'

	tempname touse2
	gen byte `touse2' = `touse' & e(sample)

	capture noisily {

		if ! `atobs' {
			tempvar holdx
			local realN `c(N)'
			preserve ,  changed
			_gs_x_create , points(`points') x(`x')		///
				       min(`"`min'"') max(`"`max'"')	///
				       holdx(`holdx') touse(`touse2')
			local touse2 _n <= `points'
			if `"`xtrans'"' != `""' {
				capture drop `regx'
				VarTrans `x' `regx' `"`xtrans'"'
			}
		}

		tempvar yhat
		qui predict `yhat' if `touse2' , `predopts'
		local ylist `yhat'

		if "`std'" != "" {
			tempvar se lcl ucl
			qui predict `se' if `touse2' , `std'
			qui gen `lcl' = `yhat' -			///
				invttail(e(df_r), ((100-`level')/200)) * `se'
			qui gen `ucl' = `yhat' +			///
				invttail(e(df_r), ((100-`level')/200)) * `se'
			label variable `lcl' "`level'% CI"
			label variable `ucl' "`level'% CI"

			local ylist `ylist' `lcl' `ucl'
		}

		.`sersetname' = .serset.new `ylist' `x' `morevars'	///
			if `touse2', `.omitmethod' `options' nocount

		if "`std'" != "" {
			.`sersetname'.sers[2].name = "lower_limit"
			.`sersetname'.sers[3].name = "upper_limit"
		}

	}
	local rc = _rc

	if ! 0`atobs' {
		capture {
			if `realN' < c(N) {
				qui drop in `=`realN'+1'/l
			}
			qui drop `x' `ylist'
			rename `holdx' `x'
			restore
		}
		local rc = cond(`rc' , `rc' , _rc)
	}

	if `rc' {
		exit `rc'
	}

	.`sersetname'.sort `x'
	.`sersetname'.sers[1].name = "`y'"

end


program VarTrans
	args v vtmp trans

	local trans : subinstr local trans "X" "`v'" , all
	qui gen double `vtmp' = `trans'
end

⌨️ 快捷键说明

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