楼主: 济民经世
22084 19

【求助】紧急求助关于stata的(组内)排序问题 [推广有奖]

  • 1关注
  • 0粉丝

本科生

10%

还不是VIP/贵宾

-

威望
0
论坛币
203 个
通用积分
1.0014
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
933 点
帖子
56
精华
0
在线时间
68 小时
注册时间
2005-10-26
最后登录
2022-1-13

楼主
济民经世 发表于 2009-9-4 13:58:08 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
是这样的:我现有的观测值分为10年(year),每年分为30个省级行政单位(province),再在每个单位下有n个样本。

我现在想将样本规模按大小(scale)分为每年、 每省(共300组)排序,再将排名生成一个新的变量(rank)。

我如果用 gsort year province scale,generate(rank)的话,得到的rank值是该样本在整体中的排序值,但实际上我需要的是其在每组中的排序值(即组内排序)。例如:1997年北京市样本的rank之后,1997年天津市的rank再从1开始排序。

倒腾了好久都没有结果,不知道“万能”的stata能不能实现这种处理。

希望板上的先学们不吝赐教一下,在此有礼了~
二维码

扫码加我 拉你入群

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

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

关键词:Stata 紧急求助 tata 急求助 province 求助 Stata 排序

本帖被以下文库推荐

沙发
dxystata 发表于 2009-9-4 14:12:21
你传个数据集上来,应该可以实现!

藤椅
arlionn 在职认证  发表于 2009-9-4 14:24:37
sort year province scale
bysort year province: gen rank = _n
已有 1 人评分论坛币 热心指数 收起 理由
dxystata + 5 + 1 好的意见建议

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

板凳
济民经世 发表于 2009-9-4 14:26:40
test090904.doc (3.15 KB) 多谢版主同志。
我上传了刚刚选的几个数据,原库的情况大概就是这样。因为附件不允许用.dta做扩展名,我就把它改成了.doc。
麻烦帮忙看一下,谢谢~

另顺便问一下:
stata有没有数据量限制啊?这个库非常大,我之前试处理的时候把内存设为1G,就已经反应很慢了...



2# dxystata

报纸
济民经世 发表于 2009-9-4 14:52:17
多谢连老师,可以了~ 3# arlionn

地板
arlionn 在职认证  发表于 2009-9-4 15:19:07

7
济民经世 发表于 2009-9-4 15:22:42
呵呵,趁热再请教一下:
上述命令只能处理升序排列。如果降序排列用gsort命令以后,就没有相应的bygsort命令。因而,在找到对降序排列的相应处理方法之前,只能通过生成某一变量的负值,再对该负值进行升序排列即相当于对原值进行降序排列。那么,对于降序排列的相应处理,有没有直接的命令呢?
6# arlionn

8
arlionn 在职认证  发表于 2009-9-4 19:30:47
那是因为你不了解gsort的功能,呵呵。
gsort year province  -scale

9
济民经世 发表于 2009-9-5 14:33:00
但是在gsort year province -scale之后,不能generate(rank),也不能bysort year province: gen rank = _n,该怎么来生成排序变量呢?
所以我就用了笨方法:
gen negscale=-scale
sort year province -scale
bysort year province: gen rank = _n

10
arlionn 在职认证  发表于 2009-9-5 15:21:24
能抓住老鼠就还好猫!哈哈

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

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