楼主: uuugggsun
1488 3

[面板数据求助] stata组内数据处理 [推广有奖]

  • 1关注
  • 0粉丝

本科生

16%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
4.2120
学术水平
1 点
热心指数
1 点
信用等级
0 点
经验
504 点
帖子
44
精华
0
在线时间
72 小时
注册时间
2014-10-10
最后登录
2021-11-3

40论坛币
请问我有个按照行业和年份来排名的销售量数据,通过排序我可以把某一年份各行业按照销售量大小升序排列,此时我想求前10名行业某一年销售量总和。请问用stata如何做到,变量分别为industry、year、销售量(sell)。如图,提前谢谢各位同学。因为在写论文,所以有点急,希望大家能给与帮助。 QQ截图20170111212252.png

最佳答案

usedbus 查看完整内容

可以先生成一个变量来计算在这一年内,这个行业销量的排序,然后对序数小于等于10的行业进行求和 gsort time -sell by time: ge sell_order = _n egen sum_sell = sum(sell) if sell_order
关键词:Stata tata 数据处理 Industry year industry 销售量 论文 如何 行业

回帖推荐

usedbus 发表于2楼  查看完整内容

可以先生成一个变量来计算在这一年内,这个行业销量的排序,然后对序数小于等于10的行业进行求和 gsort time -sell by time: ge sell_order = _n egen sum_sell = sum(sell) if sell_order
沙发
usedbus 发表于 2017-1-11 21:19:25 |只看作者 |坛友微信交流群
可以先生成一个变量来计算在这一年内,这个行业销量的排序,然后对序数小于等于10的行业进行求和

gsort time -sell
by time: ge sell_order = _n
egen sum_sell = sum(sell) if sell_order <= 10, by(time)

第一行用gsort而不是sort,是因为要对sell进行倒序排列。这样所有年份前10行业对应的sum_sell就是这个年份前十行业的总销量。如果想把其他行业对应的sum_sell也补上,那么可以加上

sort time sum_sell
by time: carryforward sum_sell, replace
已有 1 人评分论坛币 热心指数 收起 理由
admin_kefu + 20 + 5 热心帮助其他会员

总评分: 论坛币 + 20  热心指数 + 5   查看全部评分

使用道具

藤椅
uuugggsun 发表于 2017-1-11 21:45:34 |只看作者 |坛友微信交流群
china请忽视,只是为了说明例子。

使用道具

板凳
uuugggsun 发表于 2017-1-12 11:42:01 |只看作者 |坛友微信交流群
usedbus 发表于 2017-1-11 21:19
可以先生成一个变量来计算在这一年内,这个行业销量的排序,然后对序数小于等于10的行业进行求和

gsort  ...
使用之后,成功解决问题!太感谢了。

使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-4 18:50