楼主: 家齐10
1462 2

[面板数据求助] 面板数据分组后,表示每组数据中第n项的命令 [推广有奖]

  • 2关注
  • 0粉丝

已卖:1份资源

大专生

53%

还不是VIP/贵宾

-

威望
0
论坛币
1997 个
通用积分
0.0028
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
307 点
帖子
23
精华
0
在线时间
82 小时
注册时间
2014-10-14
最后登录
2020-8-7

楼主
家齐10 发表于 2020-1-15 20:22:39 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
目标:数据分组后,将每组数据中的第一项至第三项,倒数第一项至倒数第三项,共计六项相加,求和的结果生成第四个变量。
举例:
数据集如下:
1 1998 0
1 1999 1
1 2000 2
1 2001 4
1 2002 6
1 2003 9
1 2004 3
1 2005 2
1 2006 3
2 1998 1
2 1999 2
2 2000 5
2 2001 4
2 2002 6
2 2003 9
2 2004 3
2 2005 2
2 2006 3

想要分组生成第四个变量(以第一组为例)=1998年数据+1999年数据+2000年数据+2006年数据+2005年数据+2004年数据,即var4=0+1+2+3+2+3=11
请问:如何表示1998年数据、1999年数据、2000年数据、2006年数据。。。。
二维码

扫码加我 拉你入群

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

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

关键词:面板数据 数据分组 2004年数据 倒数第三 VaR

沙发
dlut123 发表于 2020-1-15 22:05:43
  1. sort id year
  2. bys id: gen vt =value[1]+value[2]+value[3]+value[_N-1]+value[_N]+value[_N]   // 按id生成一个变量

  3. forvalues i=1(1)2{   // 按id生成 多个变量
  4. bys id: gen vt`i' =value[1]+value[2]+value[3]+value[_N-1]+value[_N]+value[_N] if id == `i'
  5. }     
复制代码

藤椅
黃河泉 在职认证  发表于 2020-1-17 08:15:54
1. 基本概念如楼上所示 (有一点 typo):
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input float(id year x)
  4. 1 1998 0
  5. 1 1999 1
  6. 1 2000 2
  7. 1 2001 4
  8. 1 2002 6
  9. 1 2003 9
  10. 1 2004 3
  11. 1 2005 2
  12. 1 2006 3
  13. 2 1998 1
  14. 2 1999 2
  15. 2 2000 5
  16. 2 2001 4
  17. 2 2002 6
  18. 2 2003 9
  19. 2 2004 3
  20. 2 2005 2
  21. 2 2006 3
  22. end

  23. bys id (year): gen wantd = x[1]+x[2]+x[3]+x[_N]+x[_N-1]+x[_N-2]
复制代码
2. 尔后你若要问程序,永远附上相关资料 (请不要用截图);若附上资料,永远用 dataex 印出资料。
•        先 ssc install dataex (并见说明),将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。
•        请参考说明 https://bbs.pinggu.org/thread-5048204-1-1.html

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

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