全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 统计软件培训班VIP答疑区
1186 2
2012-11-15
求教连老师下面的那个变量如何在stata中实现:
|iki,t-ik-i,t-1| is the absolute value of the difference between ik (the investment ratio) of firm i in year t and the average (第二个ik 上面应该有个横杠,不知道怎么弄出来) investment ratio of other firms in the same industry excluding firm i in year (t-1)

PS:数据为panel data,包括firmid,year,ik等数据

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-11-15 09:34:07
下面这段是算中位数的,你修改一下就以算平均值了。

  * 行业处境指标 (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
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-12-13 15:00:14
brilliant.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群