按组统计总和
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)
请帮我看看这个表达式。
任何解决方案将不胜感激。谢谢
我相信其他人会有更聪明的解决方案,但您可以结合使用 egen
的 rowtotal
和 total
函数来实现此目的。
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)
。如果您缺少 fee1
或 fee2
的值,如果您使用此语法,则必须考虑 fee1 + fee2
表达式中的值。
我得到这样的数据:
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)
请帮我看看这个表达式。 任何解决方案将不胜感激。谢谢
我相信其他人会有更聪明的解决方案,但您可以结合使用 egen
的 rowtotal
和 total
函数来实现此目的。
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)
。如果您缺少 fee1
或 fee2
的值,如果您使用此语法,则必须考虑 fee1 + fee2
表达式中的值。