cluster_measures.ado

来自「是一个经济学管理应用软件 很难找的 但是经济学学生又必须用到」· ADO 代码 · 共 63 行

ADO
63
字号
*! version 1.0.1 16sep2004
program define cluster_measures, rclass
	version 7, missing

	syntax varlist(numeric) [if] [in] , COMPare(numlist >=1 int) /*
			*/ GENerate(string) [ PROPVars PROPCompares * ]

	marksample touse

	local ncomp : word count `compare'
	local ngen  : word count `generate'
	if `ngen' != `ncomp' {
		di as err "{p}need the same number of compare() arguments as"
		di as err "generate() arguments{p_end}"
		exit 198
	}

	confirm new variable `generate'

	foreach x of local compare {
		if `x' > _N {
			di as err "{p}compare() arguments must be between 1"
			di as err "and the number of observations{p_end}"
			exit 125
		}
	}

	cluster parsedistance `options'
	local dist `s(dist)'`s(darg)'
	local dtype `s(dtype)'
	local dbinary `s(binary)'

	forvalues i = 1/`ngen' {
		local gvar : word `i' of `generate'
		local cnum : word `i' of `compare'

		/* check if comparison obs #cnum has any missings.  If so
		   then generate missings as answer */
		foreach var of local varlist {
			if missing(`var'[`cnum']) {
				gen byte `gvar' = .
				local vardone 1
				continue, break
			}
		}

		if "`vardone'" == "" {
			_cluster `varlist' if `touse', computemeasures /*
				*/ generate(`gvar') compare(`cnum') /*
				*/ `propvars' `propcompares' `dist'
			qui compress `gvar'
		}

	}

	ret local distance `dist'
	ret local dtype `dtype'
	ret local binary `binary'
	ret local compare `compare'
	ret local generate `generate'

end

⌨️ 快捷键说明

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