You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Stata中按州和年份组内排名(重复值同排名)实现方法

Stata实现分组内稠密排名(重复值同排名)

要实现按「州」和「年份」分组,对「收入」生成相同值同排名、排名连续的结果,可按以下步骤操作:

  1. 先按分组变量和收入排序(非强制要求,但能让结果更直观):
sort 州 年份 收入
  1. 结合bysort分组与egen的rank()函数,指定dense选项生成目标排名:
bysort 州 年份: egen 排名 = rank(收入), dense

为什么group()函数达不到预期?

group()是对分组内的唯一值分配组号,但它是按值的出现顺序分配编号,而非按收入的大小排序后分配。如果数据中收入未排序,group()的结果不会对应收入从低到高的排名;而rank(收入), dense会自动按收入大小排序后生成连续的排名,完全匹配你需要的结果。

用你提供的测试数据执行上述命令后,生成的「排名」列会和期望结果完全一致:

  • A州2019年:收入30的两行排名为1,收入40的行排名为2
  • A州2020年:收入45的行排名为1,收入50的行排名为2
  • B州2019年:收入35的行排名为1,收入45的行排名为2
  • B州2020年:收入22的行排名为1,收入40的行排名为2

内容的提问来源于stack exchange,提问作者user584534

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 09:15:24