按组统计总和

Stata sum by group

我得到这样的数据:

tinh   huyen   xa   diaban   hoso   fee1   fee2   income
1      1       4    12        13     100    200
1      1       4    12        13     120    150
1      1       5    11        14     130    140
1      1       5    11        14     100    100
1      1       6    14        20     130    140

所以我想将 fee1 和 fee2 按 (tinh, huyen, xa, diaban, hoso) 加到收入栏中。

那么结果假设如下:

tinh   huyen   xa   diaban   hoso   fee1   fee2   income
1      1       4    12        13     100    200   570(100 + 200 + 120 + 150)
1      1       4    12        13     120    150   570(100 + 200 + 120 + 150)
1      1       5    11        14     130    140   470(130 + 140 + 100 + 100)
1      1       5    11        14     100    100   470(130 + 140 + 100 + 100)
1      1       6    14        20     130    140   270(130 + 140)

请帮我看看这个表达式。 任何解决方案将不胜感激。谢谢

我相信其他人会有更聪明的解决方案,但您可以结合使用 egenrowtotaltotal 函数来实现此目的。

clear
input tinh   huyen   xa   diaban   hoso   fee1   fee2  
1      1       4    12        13     100    200
1      1       4    12        13     120    150
1      1       5    11        14     130    140
1      1       5    11        14     100    100
1      1       6    14        20     130    140
end

egen sum1 = rowtotal(fee1 fee2)
egen sum2 = total(sum1), by(tinh huyen xa diaban)

li

屈服

     +---------------------------------------------------------------+
     | tinh   huyen   xa   diaban   hoso   fee1   fee2   sum1   sum2 |
     |---------------------------------------------------------------|
  1. |    1       1    4       12     13    100    200    300    570 |
  2. |    1       1    4       12     13    120    150    270    570 |
  3. |    1       1    5       11     14    130    140    270    470 |
  4. |    1       1    5       11     14    100    100    200    470 |
  5. |    1       1    6       14     20    130    140    270    270 |
     +---------------------------------------------------------------+

请注意(根据评论)您可以使用 egen income = total(fee1 + fee2), by(tinh huyen xa diaban)。如果您缺少 fee1fee2 的值,如果您使用此语法,则必须考虑 fee1 + fee2 表达式中的值。