楼主: panye1974
5267 4

[面板数据求助] stata中运行循环命令出现__000001 not found是怎么回事? [推广有奖]

  • 0关注
  • 1粉丝

等待验证会员

初中生

85%

还不是VIP/贵宾

-

威望
0
论坛币
683 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
146 点
帖子
3
精华
0
在线时间
36 小时
注册时间
2019-12-10
最后登录
2021-10-14

楼主
panye1974 发表于 2021-3-24 15:41:50 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
程序代码是:forvalues i = 2008(1)2019{
        use "D:\stata14\examples\毕业论文\原始数据\最终数据.dta", clear
        gen YEAR=year-`i'+5
        xtset id year
        keep if year>`i'-5 & year<=`i'
       
        * 剔除不足5年的样本
        bys id : gen N=_N
        ta N
        drop if N<5
       
       
        * 过去5年的标准差
        bys id: egen sd=sd(Y0601b)
        * 过去5年的均值
        bys id: egen mean=mean(Y0601b)
        * 员工人数波动性
        gen 员工人数波动性=sd/mean
        keep if YEAR==5
        drop YEAR _*
        save "D:\stata14\examples\毕业论文\原始数据\人数`i'.dta",replace
}
数据范围是2008年--2019年,非平衡面板数据
二维码

扫码加我 拉你入群

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

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

关键词:Stata found 循环命令 tata not

沙发
DΘstinyじò 发表于 2021-3-26 16:28:52
从你的代码,感觉你是要算Y0601b变量过去5年内的均值/标准差,作为波动性指标,提供一个命令,rangestat。尝试以下命令:
  1. rangestat (mean) Y0601b (sd) Y0601b ,interval(year -4 0) by(id)
  2. gen 员工人数波动性=Y0601b_mean/Y0601b_sd
复制代码
这个的话,没有考虑非平衡的问题。
查看rangestat的帮助文件,按需修改。

藤椅
DΘstinyじò 发表于 2021-3-26 17:58:59
DΘstinyじò 发表于 2021-3-26 16:28
从你的代码,感觉你是要算Y0601b变量过去5年内的均值/标准差,作为波动性指标,提供一个命令,rangestat。 ...
考虑非平衡性的问题,可以这样尝试:
  1. rangestat  (count) year (mean) Y0601b (sd) Y0601b ,interval(year -4 0)  by(id)
  2. gen 员工人数波动性=Y0601b_mean/Y0601b_sd  if year_count==5
复制代码
之前你的方法也是可行的,我修改了一下,不知道能不能运行成功,可以尝试一下。
  1. use "D:\stata14\examples\毕业论文\原始数据\最终数据.dta", clear
  2. xtset id year

  3. forvalues i = 2012(1)2019{
  4.         preserve
  5.         keep if year>`i'-5 & year<=`i'
  6.        
  7.         * 剔除不足5年的样本
  8.         bys id : drop if _N<5
  9.        
  10.         * 过去5年的标准差
  11.         bys id: egen sd=sd(Y0601b)
  12.         * 过去5年的均值
  13.         bys id: egen mean=mean(Y0601b)
  14.         * 员工人数波动性
  15.         gen 员工人数波动性=sd/mean
  16.        
  17.         keep if year==`i'
  18.         save "D:\stata14\examples\毕业论文\原始数据\人数`i'.dta",replace
  19.         restore
  20. }
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Sunknownay + 3 + 3 + 3 热心帮助其他会员

总评分: 学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

板凳
panye1974 发表于 2021-3-29 17:36:34
DΘstinyじò 发表于 2021-3-26 17:58
考虑非平衡性的问题,可以这样尝试:之前你的方法也是可行的,我修改了一下,不知道能不能运行成功,可以 ...
谢谢,谢谢,确实,我就是您帮我改动的地方出现问题了,我自己后来也找到问题所在了。

报纸
13561265617 学生认证  发表于 2022-1-15 15:46:53
也出现了这样的问题,学习一下

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-8 14:42