楼主: nickstick
3250 3

[其他] 请问各位大侠:这个stata程序出现的问题是何原因?谢谢! [推广有奖]

  • 2关注
  • 0粉丝

已卖:1538份资源

讲师

49%

还不是VIP/贵宾

-

威望
0
论坛币
24710 个
通用积分
7.3699
学术水平
9 点
热心指数
9 点
信用等级
8 点
经验
19102 点
帖子
217
精华
0
在线时间
782 小时
注册时间
2007-1-15
最后登录
2025-10-16

楼主
nickstick 发表于 2011-12-25 23:23:01 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
各位大侠,大家好!
     我在 新建文件夹.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
二维码

扫码加我 拉你入群

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

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

关键词:stata程序 请问各位大侠 Stata tata 各位大侠 不胜感激 replace local 程序 行业

沙发
未名之鱼 发表于 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,问题比较白痴,请大家帮我!

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

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

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-22 15:45