楼主: fgkjvbk
1460 6

[数据管理求助] 如何用stata求每隔5年的最大值 [推广有奖]

  • 3关注
  • 0粉丝

本科生

99%

还不是VIP/贵宾

-

威望
0
论坛币
30 个
通用积分
3.8346
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
631 点
帖子
46
精华
0
在线时间
156 小时
注册时间
2020-12-23
最后登录
2024-9-19

楼主
fgkjvbk 学生认证  发表于 2021-11-18 10:29:56 |AI写论文
10论坛币
各位stata的大佬们好,面板数据结构如下:
[CODE]
* Example generated by -dataex-. To install: ssc install dataex
clear
input int pubyear float d_value long countryid
1994     .333333 1
2000   -.0220049 1
2001  -.00575374 1
2001   -.0149893 1
2003   -.0044843 1
2003  -.00922367 1
2003   -.0318471 1
2005   .00182983 1
2005           0 1
2005  -.00151286 1
2005  -.00647548 1
2006 -.000660501 1
2006   -.0075543 1
2006     .122449 1
2006  -.00917431 1
2007  -.00242229 1
2007  -.00176991 1
2007   .00819672 1
2007   -.0100897 1
2007  -.00246508 1
2007  -.00163666 1
2008    .0322581 1

想每隔五年 求countryid 的d_value的最大值,例如对于国家1,从1994开始,计算1994-1999的最大值,2000-2004的最大值,依次类推。一共有73个countryid。
1.不知道如何对年份进行每五年分组。
2.这是一个非平衡面板。
求教命令该如何写,谢谢!

最佳答案

黃河泉 查看完整内容

应该大概是这样 (请据以更改):
关键词:Stata tata 如何用 最大值 generated

沙发
黃河泉 在职认证  发表于 2021-11-18 10:29:57
fgkjvbk 发表于 2021-11-18 14:10
* Example generated by -dataex-. To install: ssc install dataex
clear
input int pubyear float d_ ...
应该大概是这样 (请据以更改):
  1. xtset countryid pubyear
  2. tsfill, full
  3. bys countryid (pubyear): egen y5 = seq(), from(1) b(5)
  4. collapse (max) d_value, by(countryid y5)
复制代码

藤椅
黃河泉 在职认证  发表于 2021-11-18 13:20:07
1. 请至少附上两个 countryid 的完整资料,2. 同一 countryid 且同一 year 可能有多笔资料?3. 每个国家都是从 1994 年开始?

板凳
fgkjvbk 学生认证  发表于 2021-11-18 14:10:48
黃河泉 发表于 2021-11-18 13:20
1. 请至少附上两个 countryid 的完整资料,2. 同一 countryid 且同一 year 可能有多笔资料?3. 每个国家都是 ...
* Example generated by -dataex-. To install: ssc install dataex
clear
input int pubyear float d_value long countryid float max_d
1994     .333333 1     .333333
1995          -1 1          -1
2000   -.0220049 1   -.0220049
2001  -.00575374 1  -.00575374
2003   -.0044843 1   -.0044843
2005   .00182983 1   .00182983
2006     .122449 1     .122449
2007   .00819672 1   .00819672
2008    .0322581 1    .0322581
2009    .0399061 1    .0399061
2010    .0326797 1    .0326797
2011  .000729873 1  .000729873
2012    .0143443 1    .0143443
2013    .0186916 1    .0186916
2014    .0185185 1    .0185185
2015    .0839161 1    .0839161
1992           0 2           0
1994   -.0142857 2   -.0142857
1997  -.00595238 2  -.00595238
1998           0 2           0
1999  .000050709 2  .000050709
2000           0 2           0
2001           0 2           0
2002   .00769231 2   .00769231
2003     .011976 2     .011976
2004 -.000833159 2 -.000833159
2005    -.011583 2    -.011583
2006           0 2           0
2007  -.00197948 2  -.00197948
2008  .000158906 2  .000158906
2009   -.0012482 2   -.0012482
2010 -.000195503 2 -.000195503
2011 -.000137551 2 -.000137551
2012   .00302115 2   .00302115
2013 -.000516173 2 -.000516173
2014   .00111669 2   .00111669
2015   .00180505 2   .00180505

回答您的问题:
2.之前的数据我没有去重,因此同一年可能有多个数据,上面这个数据去重了。3.不是每个国家从1994开始的,最早的年份是1970,至2015结束

报纸
黃河泉 在职认证  发表于 2021-11-18 16:59:19
fgkjvbk 发表于 2021-11-18 14:10
* Example generated by -dataex-. To install: ssc install dataex
clear
input int pubyear float d_ ...
所以每个国家计算五年平均都是从 1970 年开始?

地板
fgkjvbk 学生认证  发表于 2021-11-19 09:49:19
黃河泉 发表于 2021-11-18 16:59
所以每个国家计算五年平均都是从 1970 年开始?
是的,老师

7
fgkjvbk 学生认证  发表于 2021-11-19 09:50:03
黃河泉 发表于 2021-11-18 17:04
应该大概是这样 (请据以更改):
学习了,谢谢老师!

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

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