全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
1542 3
2015-12-12
我现在有5年的数据,我现在有一组循环语句,想在每年的样本中执行一下,也就是想分年度(或分组)执行一组循环语句(不是回归),不想着产生新的文件什么的,不知在stata中有什么语句可以实现这一效果,请指教!谢谢
二维码

扫码加我 拉你入群

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

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

全部回复
2015-12-14 06:15:41
如果你的数据是1999年到2015年
forvalues y=1999/2015 {
    [do your thing] if year==`y'
}
二维码

扫码加我 拉你入群

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

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

2015-12-15 08:45:19
夏目贵志 发表于 2015-12-14 06:15
如果你的数据是1999年到2015年
forvalues y=1999/2015 {
    [do your thing] if year==`y'
你好,感谢你的帮助,用这种方法实现按年来执行相关语句是不是只能用在回归语句上,但比如我现在想将2010年的数据按某变量进行排序,其他年度数据的排序不变,我用下列语句:
if year==2010{
        gsort -x
}
或者
gsort -x if year==2010
是不能实现的

我现在能实现按年进行分组,并在每年中执行相关的语句,但我的程序有些麻烦,执行效率不高。
二维码

扫码加我 拉你入群

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

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

2015-12-15 09:01:40
arkfan 发表于 2015-12-15 08:45
你好,感谢你的帮助,用这种方法实现按年来执行相关语句是不是只能用在回归语句上,但比如我现在想将2010 ...
你的问题可能是by和sort不能一起用。
一个思路是:用by和egen的rank()来生成每组内的排序序号。然后把序号附加在组号后面,比如第二组排序第五的就是205,等等。然后用sort或者gsort按这个新的序号排序。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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