楼主: costmanagement
1979 5

如何将期间转化成连续年份? [推广有奖]

  • 0关注
  • 0粉丝

已卖:77份资源

硕士生

12%

还不是VIP/贵宾

-

威望
0
论坛币
775 个
通用积分
0.8500
学术水平
0 点
热心指数
6 点
信用等级
0 点
经验
1803 点
帖子
112
精华
0
在线时间
110 小时
注册时间
2009-8-28
最后登录
2023-12-4

楼主
costmanagement 发表于 2016-2-1 22:54:29 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

请问如何将期间转化为连续年份,原来的数据是这样的:

  

代码

  

起始年份

截止年份

000001

2007

2011

000004

2008

2010

我要把中间年份,改成下表,应该怎样写命令?谢谢!

  

代码

  

年份

000001

2007

000001

2008

000001

2009

000001

2010

000001

2011

000004

2008

000004

2009

000004

2010


二维码

扫码加我 拉你入群

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

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

关键词:如何

沙发
costmanagement 发表于 2016-2-2 03:40:21
知道了,用tsfill, full。但还有一个问题:除了代码和年份能自动填补外,期间中的其他的变量(如人名)没有发生变化,该如何自动补充在连续的年份中?
代码    年份    人名
000001  2007  王玮
000001  2008  王玮

藤椅
丽源的丽源 发表于 2019-7-2 22:11:51
学习了!!!

板凳
丽源的丽源 发表于 2019-7-2 22:13:39
楼主的问题应该早已解决……
第二个问题私以为也许可以通过 "by 代码 年份: replace……"的命令来实现

报纸
丽源的丽源 发表于 2019-7-3 12:22:33
我试了试tsfill
只能把所有年份都补全,不能有差别地每一个数据生成自己的年份……感觉问题还是没有完全解决

地板
丽源的丽源 发表于 2019-7-3 12:52:27
思考了一下,也许可以这样写

        gen gap = 截止年份-起始年份+1
        expand gap
        sort 代码 起始年份
        by 代码 起始年份:gen t = _n /*生成序列*/
        by 代码 起始年份: gen year = 起始年份 + t - 1

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

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