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

📄 _rmdcoll.ado

📁 是一个经济学管理应用软件 很难找的 但是经济学学生又必须用到
💻 ADO
字号:
*! version 1.2.1  29sep2004
program define _rmdcoll, rclass
	version 8, missing

	syntax varlist(ts) [in] [if] [fw iw aw pw]  [, noCOLlin noConstant ]

        tempvar touse
        mark `touse' [`weight'`exp'] `if' `in'

					/* weights */
	if "`weight'" ~= "" {
		tempvar w
		qui gen double `w'  `exp' if `touse'
		local wgt [`weight'=`w']
	}
	else 	local wgt

	gettoken yvar xvars: varlist
	if "`xvars'" == "" {
		exit
	} 

	tempname hldname c b
	if "`e(cmd)'" != "" {
		_est hold `hldname'
		local unhold "_est unhold `hldname'"
	}

					/* nocollin option */
	if "`collin'" =="" {
		_rmcoll `xvars' `wgt' if `touse', `constant' 
		local xvars "`r(varlist)'"
		local varlist "`yvar' `xvars'"
		return local varlist "`xvars'"
		if "`xvars'" == "" {
			`unhold'
			exit
		} 
	}

				/* y xs of full rank? */ 
	qui _rmcoll `yvar' `xvars' `wgt' if `touse', `constant'
	local result "`r(varlist)'"
	local equal : list varlist === result
	if `equal' {
		`unhold'
		exit
	}
					/* select the largest abs value */

	qui reg `yvar' `xvars' `wgt' if `touse', `constant' 
	mat `b'= e(b)
	local i 1 
	local cmax abs(`b'[1,1])	
	scalar `c'=colsof(`b')
 	while `++i' < = `c' {
		if abs(`b'[1,`i']) > `cmax' {
			local cmax abs(`b'[1,`i'])
		}
	}

					/* get the varnames */

	local names: colnames `b'
	local i 0
	foreach name of local names {
		if  abs(`b'[1,`++i']) > `cmax' * 1e-5 {
			local cnames `cnames' `name'
		}
	}

	`unhold'
					/* display error message , exit */
	di as err "{p 0 4}"
	di as err "`yvar' collinear with"
	di as err "`cnames'"
	di as err "{p_end}"
 	exit 459	
end

⌨️ 快捷键说明

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