楼主: 晓风残月18
1201 1

[面板数据求助] 请教前辈,设置一个变量是同一id某变量两年数据的差值,应该什么命令呀?谢谢! [推广有奖]

  • 2关注
  • 0粉丝

本科生

20%

还不是VIP/贵宾

-

威望
0
论坛币
200 个
通用积分
1.0141
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
900 点
帖子
38
精华
0
在线时间
91 小时
注册时间
2017-10-20
最后登录
2019-9-26

楼主
晓风残月18 发表于 2018-1-31 10:56:37 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
id    year      stock 1    2000      500
1    2001      520
1    2002      550
1    2003      560
2    2000      600
2    2001      620
2    2002      650
2    2003      666
3    2000      800
3    2001      820
3    2002      860
3    2003      888
.         .          .

.         .          .
.         .          .
.         .          .

想新建一个newstock1,其值等于同一id的2001年的stock-2000年的stock,newstock2,其值等于同一id的2002年的stock-2000年的stock,newstock3,其值等于同一id的2003年的stock-2000年的stock
求前辈指教
二维码

扫码加我 拉你入群

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

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

关键词:统计 工具

沙发
黃河泉 在职认证  发表于 2018-2-1 17:57:39
我帮你问了此问题,得到以下之回应:
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input float(id year stock)
  4. 1 2000 500
  5. 1 2001 520
  6. 1 2002 550
  7. 1 2003 560
  8. 2 2000 600
  9. 2 2001 620
  10. 2 2002 650
  11. 2 2003 666
  12. 3 2000 800
  13. 3 2001 820
  14. 3 2002 860
  15. 3 2003 888
  16. end

  17. // Clyde Schechter
  18. reshape wide stock, i(id) j(year)
  19. forvalues y = 1/3 {
  20.     gen newstock`y' = stock200`y' - stock2000
  21. }
  22. reshape long stock, i(id) j(year)

  23. // Nick Cox
  24. forval j = 1/3 {
  25.     egen newstock`j' = total(stock*(year==200`j') - stock*(year==2000)), by(id)
  26. }
复制代码

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

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