首页 > 解决方案 > 折叠一个变量的总和,但另一个变量的平均值

问题描述

我有以下数据集,我希望将其折叠以创建一个公司 1 - 公司 2 年级别的数据集:

clear

input str32 Firm_1 str32 Firm_2    year number_employees str32 blah1  str32 blah2  returns 
           "Rathon"    "Hass"      2010      4000               hey    hello        40
           "Rathon"    "Hass"      2010      6000               hey    hello        20
           "Rathon"    "Hass"      2012     12000               money    fame       10
           "Rathon"    "Broq"      2012     12000               dime     bunk       50
           "Birlar"    "Goth"      2008      1000               shop     ladder     30
           "Birlar"    "Goth"      2008      7000               shop     ladder     70
end

我希望缩小最终数据集,以便每个观察代表相同firm_1firm_2相同year。因此,它将如下所示:

           Firm_1       Firm_2    year number_employees  blah1    blah2    returns
           "Rathon"    "Hass"      2010     10000          hey     hello     30 
           "Rathon"    "Hass"      2012     12000         money    fame      10
           "Rathon"    "Broq"      2012     12000         dime     bunk      50
           "Birlar"    "Goth"      2008      8000         shop     ladder    50

但是,当我collapse以以下方式使用时:

collapse (sum) number_employees, by ( Firm_1 Firm_2 year)

该命令删除变量blah_1blah_2. 有没有办法留住他们?此外,returns应该在折叠观察时进行平均,而不是像我们为number_employees

标签: stata

解决方案


这适用于您的示例:

collapse (sum) number_employees (mean) returns , by(Firm_1 Firm_2 blah* year) 

list 

     +--------------------------------------------------------------+
     | Firm_1   Firm_2   year   blah1    blah2   number~s   returns |
     |--------------------------------------------------------------|
  1. | Birlar     Goth   2008    shop   ladder       8000        50 |
  2. | Rathon     Broq   2012    dime     bunk      12000        50 |
  3. | Rathon     Hass   2010     hey    hello      10000        30 |
  4. | Rathon     Hass   2012   money     fame      12000        10 |
     +--------------------------------------------------------------+

只要您希望存在一对一的对应关系,就可以将每个组内的变量常量添加到by()选项中。更明显的是,记录的语法允许为相同或不同的变量计算不同的统计数据。


推荐阅读