楼主: nkhcy
5186 19

[数据管理求助] 求助:如何在stata中按组别选择性加总数据 [推广有奖]

  • 0关注
  • 0粉丝

硕士生

11%

还不是VIP/贵宾

-

威望
0
论坛币
263 个
通用积分
1.2000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
915 点
帖子
41
精华
0
在线时间
223 小时
注册时间
2010-12-1
最后登录
2025-5-30

楼主
nkhcy 发表于 2017-4-21 10:07:52 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
有一组数据,想根据site和year求和,但是怎么尝试都做不出来,求大侠赐教!
数据如下:
year        city        site        GDP        pop        t1
2001        9        0        10        10        -.055905
2001        10        0        20        10        -.055905
2001        12        1        41        21        .025549
2001        11        2        35        17        .0393382
2002        10        0        28        14        -.0510401
2002        9        0        10        10        -.0510401
2002        12        1        40        20        .0327976
2002        11        2        30        15        .0245982
2003        10        0        25        12        -.0499527
2003        9        0        10        10        -.0499527
2003        12        1        45        22        .0367496
2003        11        2        32        16        .0197122

相求t2,使它等于每年的各site的t1之和,例如2001年的t2=-0.055905+0.025549+0.0393382.我用的命令egen t2=sum(t1), by(year site) ,会重复计算一遍site=0的值,无法解决。求赐教!万分感谢~~~
二维码

扫码加我 拉你入群

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

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

关键词:选择性 如何

沙发
黃河泉 在职认证  发表于 2017-4-21 15:39:46
1. 建議用 dataex (先 ssc install dataex 并见说明) 将原始Stata资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。
2. 你可以先删除其中一个 site = 0 之观察值吗?还是你都要保留(两个 site = 0 之观察值)?

藤椅
nkhcy 发表于 2017-4-21 16:00:17
黃河泉 发表于 2017-4-21 15:39
1. 建議用 dataex (先 ssc install dataex 并见说明) 将原始Stata资料中具有”代表性”的一部分资料列出,以 ...
列出的数据就是其中的一部分。不想删除site值,因为里面有很多重复的site值,删掉实在太耗时了。谢谢你的建议

板凳
黃河泉 在职认证  发表于 2017-4-21 16:17:46
nkhcy 发表于 2017-4-21 16:00
列出的数据就是其中的一部分。不想删除site值,因为里面有很多重复的site值,删掉实在太耗时了。谢谢你的 ...
其实删除是很简单的,用 (help) duplicates 即可:
  1. sort year site
  2. duplicates drop year site, force
复制代码

报纸
nkhcy 发表于 2017-4-21 16:21:06
黃河泉 发表于 2017-4-21 16:17
其实删除是很简单的,用 (help) duplicates 即可:
我不想删除,后续实证还需要呢。难道我要保留两份数据?

地板
黃河泉 在职认证  发表于 2017-4-21 16:23:33
刚刚 Nick Cox 建议:
  1. clear
  2. input year        city        site        GDP        pop        t1
  3. 2001        9        0        10        10        -.055905
  4. 2001        10        0        20        10        -.055905
  5. 2001        12        1        41        21        .025549
  6. 2001        11        2        35        17        .0393382
  7. 2002        10        0        28        14        -.0510401
  8. 2002        9        0        10        10        -.0510401
  9. 2002        12        1        40        20        .0327976
  10. 2002        11        2        30        15        .0245982
  11. 2003        10        0        25        12        -.0499527
  12. 2003        9        0        10        10        -.0499527
  13. 2003        12        1        45        22        .0367496
  14. 2003        11        2        32        16        .0197122
  15. end

  16. sort year site

  17. // Nick Cox
  18. egen tag = tag(site year)
  19. egen total = total(tag * t1), by(year)
复制代码

7
j610f2012 在职认证  发表于 2017-4-21 16:25:48
bysort year site: egen t2=sum(t1)

8
黃河泉 在职认证  发表于 2017-4-21 16:28:00
j610f2012 发表于 2017-4-21 16:25
bysort year site: egen t2=sum(t1)
你的建议不是楼主想要的!

9
nkhcy 发表于 2017-4-21 16:33:43
黃河泉 发表于 2017-4-21 16:23
刚刚 Nick Cox 建议:
cool!
     非常感谢~~学习了

10
nkhcy 发表于 2017-4-21 16:34:56
j610f2012 发表于 2017-4-21 16:25
bysort year site: egen t2=sum(t1)
这个命令会重复计算。谢谢帮助

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-2-7 15:39