楼主: uuugggsun
1813 3

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

  • 1关注
  • 0粉丝

本科生

16%

还不是VIP/贵宾

-

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

楼主
uuugggsun 发表于 2017-1-11 21:19:24 |AI写论文
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
拉您入交流群
GMT+8, 2026-1-1 12:23