【发布时间】:2015-08-31 13:52:17
【问题描述】:
我有一个不平衡的面板数据集,其中包含 n 个国家/地区的每日数据:
quarter date id trade trade_quarterly rank i
1 1 1 1 2 1 10
1 2 1 1 2 1 17
1 1 2 1 1 2 12
2 1 1 0 1 1 5
2 2 1 1 1 1 9
2 1 2 0 1 1 14
2 2 2 1 1 1 8
2 2 3 0 0 3 6
给出的是前 4 列。
对信息 i 感兴趣,我现在只想保留每个季度的 2 个交易最多的 id。我用
汇总了季度交易bysort quarter id: egen trade_quarterly =sum(trade)
获取第 5 列。
为了计算第 6 列,我尝试使用
bysort quarter id : egen xx =rank(trade_quarterly), "option"
这似乎没有产生正确的解决方案。
(请注意,由于这些值在 ids 内聚合,使用rank(xx), field 排名会为以下 id 产生错误排名)
【问题讨论】:
-
第 6 列告诉我们,第一季度,id 1 排名第一,id 2 排名第二。而在第二节,id 1 和 id 2 并列第一,id 3 排名第三(因为 id 1 和 id 2 都排在它之上)。
-
是的,确实如此。这里的关键是,trade_quarterly 不会在一个 id 内变化,但 id 可能与该变量绑定。