全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
3217 3
2011-12-25
各位大侠,大家好!
     我在
新建文件夹.zip
大小:(26.06 KB)

 马上下载

.dta数据中做配对,配对标准是:同年度、同行业、资产+-20%,ROA最为接近
     引用了https://bbs.pinggu.org/thread-696047-1-1.html中voodoo编写的程序(修改后如下),
     执行时,但是总是出现“C not found”
     我很困惑究竟问题出在哪里?
     敬请各位大侠帮助解开我的困惑,不胜感激!

     before_match.dta在附件里。

下面是程序:
capture postclose match
   postfile match group id year dmatch using matchsample.dta, replace
   
   local total = _N
   local j = 0
   forval i = 1/`total' {
        preserve
        local lid = id[`i']
        local lyear = year[`i']
        local lindus = indus[`i']
  local lROA = ROA[`i']
        local la001000000 = a001000000[`i'] //资产
        quietly drop in `i'   // 删除自身
        quietly keep if indus == `lindus'
        quietly keep if year == `lyear'
        gen assetratio = abs(a001000000 / `la001000000' - 1)
        quietly keep if assetratio <= 0.2  // 将条件分成四句keep if ,有助于加快程序
        if _N < 1 {    //若没有一个公司满足条件,则直接进入下一循环
                restore
                continue
        }
        sort ROA // 对ROA排序
        local mid = id[1]  //若有多个公司满足条件,则用ROA最接近的公司
        local j = `j' + 1
        post match (`j') (`lid') (`lyear') (0)
        post match (`j') (`mid') (`lyear') (1)
        restore
   }
   postclose match
   use matchsample, clear
   sort id year
   merge id year using befor_match
   keep if _merge == 3
   drop _merge
   sort group dmatch
   label define ldmatch 0 "初始样本" 1 "配对样本"
   label value dmatch ldmatch
   list in 1/30
二维码

扫码加我 拉你入群

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

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

全部回复
2011-12-26 10:42:37
不会用stata啊。。。请用过的同学教我,  我的*.sta文件和*.do文件放在哪里才可以正确运行呢?

我运行do文件的时候提示错误:
. global path "C:\xs\work\RA"
.
. ** 运行以下程序时需要修改路径名
. cd "$path\2011_11_01_Caiy\try-old"
unable to change to C:\xs\work\RA\2011_11_01_Caiy\try-old
r(170);
end of do-file
我应该将我的*.sta文件和*.do文件放在哪里才可以正确运行呢?初次接触stata,问题比较白痴,请大家帮我!
二维码

扫码加我 拉你入群

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

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

2011-12-26 14:31:59
我也是初次接触。个人看法,不一定对。
.sta文件不清楚是什么文件。.do文件的运行,可以打开stata程序,点击“有一个小铅笔,下面是一个类似于写字本的”图标(把光标放在那儿,会显示“New Do-file Editor”),然后出现一个新的页面,再点击File-open,选择你存放的do文件路径,你的do文件就出来了,最后ctrl键+D,就可以执行了。
希望我能讲的明白。可以购买连玉君老师的stata视频,连老师讲的很好!
二维码

扫码加我 拉你入群

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

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

2011-12-26 14:35:31
找到不能执行的原因了,indus是文字型变量,加双引号
quietly keep if indus == "`lindus'"
谢谢各位大侠!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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