全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
3628 6
2017-02-22
测算收入流动的程序,跑的时候总是报错,有没有大神能帮我看下是哪的问题,万分感谢!
另外如果谁那有测算的程序包可以发我一份的话就太好了!
程序如下:
version 5.0
set more on
loc varlist "req ex min(2) max(2)"
loc if "opt"
loc in "opt"
loc options "NOTable Format(string) MKVars(string) STDerr Level(real 0.95)"
loc weight "fweight aweight"
parse "`*'"
parse "`varlist'", parse (" ")
loc weight "[`weight'`exp']"
loc var X `1'  
loc var Y `2'
loc wvar : word 2 of `exp'

if "`format'" == "" {loc format "%3.2f"}  
loc level = 1 - `level'

tempvar wwvar touse  
tempname M MR MRS Mtot I J MI

quietly {
  preserve
  loc ntot=_N
  mark `touse' `if' `in' `weight'  
  markout `touse' `var X' `var Y'
  keep if `touse'==1
  keep `var X' `var Y' `wvar'
         loc nobs=_N
      
  /* The Transition/Mobility Matrix .... */

  tab `var X' `var Y' `weight', matcell(`M') matrow(`I')  
  loc q = rowsof(`I')

  matsum `M' , r(`MRS')  
  matsum `M' , a(`Mtot')
  mat `MR' = diag(`MRS')
  mat `MR' = inv(`MR')
  mat `M' = `M''
  mat `M' = `M' * `MR'
  mat `M' = `M''
  if "`notable'"=="" {
   loc rlab : value label `var X'
   loc r ""
   loc i 1
   while `i' <= `q' {
    loc thisr = `I'[`i',1]
    if "`rlab'" ~= "" {
     loc x : label `rlab' `thisr'
     loc x : word 1 of `x'
                   loc r "`r' `x'"
     }
    else {loc r "`r' `thisr'"}
           loc i = `i' + 1
           }
   mat rownames `M' = `r'
   mat colnames `M' = `r'   
   noi di  
   noi di in gr _col(5) "Transition Matrix from " /*
    */   "`var X' (rows) to `var Y' (columns)"
   noi mat list `M' , noheader format(`format') nohalf
       }
   
二维码

扫码加我 拉你入群

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

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

全部回复
2017-2-22 13:30:04
大神给点意见吧,好捉急。。
二维码

扫码加我 拉你入群

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

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

2017-7-1 09:14:41
您好,请问问题解决了吗,我也想研究收入流动可是平时只会用excel一点点计算,方法太笨了,请问用R可不可以计算收入转换矩阵和收入流动性指数,感觉挺无助的,想跟您交流一下,麻烦了。
二维码

扫码加我 拉你入群

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

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

2021-11-16 10:37:13
iamzhangren 发表于 2017-7-1 09:14
您好,请问问题解决了吗,我也想研究收入流动可是平时只会用excel一点点计算,方法太笨了,请问用R可不可以 ...
用stata就可以实现的:
*将期初收入pre_income分成5组*
xtile pre_income_5q = pre_income,nquantile(5)
*将期末收入pre_income分成5组*
xtile now_income_5q = now_income,nquantile(5)
*计算收入转换矩阵*
outreg2 pre_income_5q now_income_5q using result.doc, replace cross
*结果被输出到了result这个word里面,那个矩阵中,括号里的就是收入流动矩阵中所要的概率~
祝好!
二维码

扫码加我 拉你入群

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

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

2022-5-9 10:57:19
cjp0525572 发表于 2021-11-16 10:37
用stata就可以实现的:
*将期初收入pre_income分成5组*
xtile pre_income_5q = pre_income,nquantile(5 ...
你好,可以加您微信,向您请教方法,非常感谢
二维码

扫码加我 拉你入群

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

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

2024-3-4 16:24:24
cjp0525572 发表于 2021-11-16 10:37
用stata就可以实现的:
*将期初收入pre_income分成5组*
xtile pre_income_5q = pre_income,nquantile(5 ...
牛!!!学到了!亲测成功!
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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