如何在Stata中找到最接近的(第二最接近的,第三最接近的…)值

问题描述 投票:0回答:1

我在Stata15 / ca中遇到以下问题。 5,000个观察结果,并提供以下数据:

n  Company_ID  Revenue Industry_Class  Fiscal_Year
1  100         5000    11              2018
2  200         4000    11              2018
3  300         3000    11              2017
4  400         2500    22              2018
5  500         3500    11              2018

我想创建新的变量Peer_1Peer_2。该代码应如下工作:

  1. 对于Peer_1:如果与Company_IDFiscal_Year相同,请给我与各行中收入[的公司的Industry_Class对于Peer_2:如果Company_IDFiscal_Year相同,请给我与[[第二最接近
  2. 到相应行中的收入的公司的Industry_Class
  3. 如果代码在相同的Fiscal_YearIndustry_Class中找不到对等项,则分配“ N / A”
  4. 例如,Company_ID“ 100”的收入为5,000。在同一类别和年份中最接近的公司是公司“ 200”,收入为4,000。在同一类别和同一年中排名第二的公司是“ 500”公司,收入为3500。
  5. 输出应如下所示:

n Company_ID Revenue Industry_Class Fiscal_Year Peer_1 Peer_2 1 100 5000 11 2018 200 500 2 200 4000 11 2018 500 100 3 300 3000 11 2017 N/A N/A 4 400 2500 22 2018 N/A N/A 5 500 3500 11 2018 200 100

是否有可能在Stata中有效地对此进行编码?我偶然发现了psmatchnnmatch之类的功能。

我在Stata15 / ca中遇到以下问题。 5,000个观察值,并提供以下数据:n Company_ID收入Industry_Class财政年度1 100 5000 11 2018 2 200 ...
stata matching closest
1个回答
0
投票
我没有假定n与公司标识符一对一对应,即使在数据示例中是正确的。
© www.soinside.com 2019 - 2024. All rights reserved.