楼主: lucywitherspoon
2722 3

[Stata初级班] 滚动生成年份 [推广有奖]

  • 0关注
  • 1粉丝

VIP

博士生

58%

还不是VIP/贵宾

-

威望
0
论坛币
367 个
通用积分
0.0036
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
1635 点
帖子
123
精华
0
在线时间
301 小时
注册时间
2009-2-22
最后登录
2019-7-2

楼主
lucywitherspoon 发表于 2010-11-12 14:59:43 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
code      YEAR            
     1       2001                  
     1       2002                  
     1       2003                 
     2       2001              
     2       2002         
     2       2003         
如何生成一列新列newyear,这一列为year向前滚动三年的年份,也就是使每一行都增加很多行。
比如:code=1 year=2001时,另外生成了code=1 nyear=2000;code=1 nyear=1999;code=1 nyear=1998使得一行变三行呢?
有没有什么程序或者命令呢?
类似于:生成一列nyear,nyear=year-i  i=1,2,3
二维码

扫码加我 拉你入群

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

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

关键词:year code ear COD ODE 年份 滚动

沙发
arlionn 在职认证  发表于 2010-11-14 09:03:39
你的最终目的是什么?
对于 code=1,year=2002,是否也需要向前滚动?

还请把问题描述的更详细一些,以免产生误解。

藤椅
lucywitherspoon 发表于 2010-11-15 10:40:16
是的,code=1 year=2002也要向前滚动,每一行都要向前滚动生成新的三年。

板凳
arlionn 在职认证  发表于 2010-11-16 10:05:31
命令如下:

*-http://www.pinggu.org/bbs/thread-959882-1-1.html


   clear
   input code     year            
     1       2001                  
     1       2002                  
     1       2003                 
     2       2001              
     2       2002         
     2       2003         
   end
   
   expand 3, ge(s)
   sort code year
   bysort code year: gen sum = sum(s) if s==1
   sort code year
   gen nyear = year-sum
   replace nyear=year if nyear==.
   sort code year nyear
   list code year nyear, clean noobs


*-结果如下:


    code   year   nyear  
       1   2001    1999  
       1   2001    2000  
       1   2001    2001  
       1   2002    2000  
       1   2002    2001  
       1   2002    2002  
       1   2003    2001  
       1   2003    2002  
       1   2003    2003  
       2   2001    1999  
       2   2001    2000  
       2   2001    2001  
       2   2002    2000  
       2   2002    2001  
       2   2002    2002  
       2   2003    2001  
       2   2003    2002  
       2   2003    2003

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

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