楼主: arkfan
1585 3

[编程问题求助] 求助:如何在样本中分年度执行一组循环语句(不是回归) [推广有奖]

  • 6关注
  • 1粉丝

硕士生

73%

还不是VIP/贵宾

-

威望
0
论坛币
907 个
通用积分
98.6200
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1512 点
帖子
66
精华
0
在线时间
237 小时
注册时间
2013-5-25
最后登录
2025-7-22

楼主
arkfan 发表于 2015-12-12 16:23:40 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我现在有5年的数据,我现在有一组循环语句,想在每年的样本中执行一下,也就是想分年度(或分组)执行一组循环语句(不是回归),不想着产生新的文件什么的,不知在stata中有什么语句可以实现这一效果,请指教!谢谢
二维码

扫码加我 拉你入群

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

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

关键词:循环语句 Stata tata 请指教 如何 样本

回帖推荐

夏目贵志 发表于4楼  查看完整内容

你的问题可能是by和sort不能一起用。 一个思路是:用by和egen的rank()来生成每组内的排序序号。然后把序号附加在组号后面,比如第二组排序第五的就是205,等等。然后用sort或者gsort按这个新的序号排序。

沙发
夏目贵志 发表于 2015-12-14 06:15:41
如果你的数据是1999年到2015年
forvalues y=1999/2015 {
    [do your thing] if year==`y'
}

藤椅
arkfan 发表于 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按这个新的序号排序。

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

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