|
下面这段是算中位数的,你修改一下就以算平均值了。
* 行业处境指标 (MacKay,2005,p.1441)
gen Y = b110101 /*主营业务收入*/
gen K = a130000 /*固定资产总额*/
gen L = y0201b /*员工数*/
gen kl = K/L
drop if kl == .
* 定义K/L变量的行业中位数(median(i,y,-f)[K/L], MacKay,2005, p.1442)
sort sicdas year id
local Nobs = _N /*样本总数*/
gen med_kl = . /*KL行业中位数*/
forvalues i = 1/`Nobs'{
local sici = sicdas[`i'] /*第i个样本所在的行业代码*/
local yri = year[`i'] /*第i个样本所在的年份*/
local idi = id[`i'] /*第i个样本对应的公司代码*/
qui sum kl if (sicdas==`sici'& year==`yri' & id!=`idi'), detail
qui replace med_kl = `r(p50)' in `i'
}
* 定义分子
gen abs_kl = abs(kl - med_kl)
* 定义分母
bysort sicdas year: egen min_kl_sic = min(abs_kl)
bysort sicdas year: egen max_kl_sic = max(abs_kl)
gen range_kl = max_kl_sic - min_kl_sic
* 定义 NH 变量
*gen nh = abs_kl / max_kl_sic
gen nh2 = abs_kl / range_kl
drop nosic dumsic20 dumsic15 dumsic10 med_kl abs_kl min_kl_sic max_kl_sic range_kl
label var nh2 行业处境指标
rename nh2 nh
|