Stata 一个变量和另一个变量的平均值的乘积
我有以下数据集,我希望将其折叠以创建一个firm1-firm2年级别的数据集:Stata 一个变量和另一个变量的平均值的乘积,stata,Stata,我有以下数据集,我希望将其折叠以创建一个firm1-firm2年级别的数据集: clear input str32 Firm_1 str32 Firm_2 year number_employees str32 blah1 str32 blah2 returns "Rathon" "Hass" 2010 4000 hey hello 40 "Rathon" "
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
我希望缩小最终的数据集,以便每个观测值代表同一年的同一个公司1和公司2。因此,它将如下所示:
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 (sum) number_employees, by ( Firm_1 Firm_2 year)
该命令删除变量blah_1和blah_2。有没有办法留住他们?此外,在折叠观察值时,应平均回报,而不是像我们对员工数量所做的那样相加。这适用于您的示例:
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选项中。更明显的是,文档化的语法允许为相同或不同的变量计算不同的统计数据 通常的方法是将结果折叠并合并到原始数据集中。