STATA:计算y中任意x的和? [英] Stata: Calculate sum of any x in y?
本文介绍了STATA:计算y中任意x的和?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有两个变量:
- 一个名称为PackageID(公司贷款的唯一ID号)
- 另一个称为ConventType,每个值从1到21表示一种契约(贷款)。
我想创建一个新变量(Cov_Sum),它是Packageid中任何covenanttype的总和。
* Example generated by -dataex-. To install: ssc install dataex
clear
input double packageid long CovenantType
4106 13
4106 18
4812 13
4952 2
5223 9
5287 18
7011 4
7011 13
7011 18
7849 17
10261 17
11057 4
11178 4
11178 13
11178 18
11452 17
11714 4
11714 13
11954 2
11954 13
11954 18
12807 13
12807 18
end
例如,PackageID 4106的cov_sum=2,因为它有两个CovenantType值:13和18。
我已经为每种类型的约定创建了21个临时变量,使其为1或0,但我不确定如何执行最后一步,以便为每个PackageID求和。
我知道这会创建重复值,如下所示,但这没有关系。
input double packageid long CovenantType long? cov_sum
4106 13 2
4106 18 2
如何创建是Packageid中任何covenanttype之和的变量?
推荐答案
以下适用于我:
bysort packageid: generate n = _n
bysort packageid: egen cov_sum = max(n)
list, abbreviate(15)
+----------------------------------------+
| packageid CovenantType n cov_sum |
|----------------------------------------|
1. | 4106 13 1 2 |
2. | 4106 18 2 2 |
3. | 4812 13 1 1 |
4. | 4952 2 1 1 |
5. | 5223 9 1 1 |
|----------------------------------------|
6. | 5287 18 1 1 |
7. | 7011 4 1 3 |
8. | 7011 13 2 3 |
9. | 7011 18 3 3 |
10. | 7849 17 1 1 |
|----------------------------------------|
11. | 10261 17 1 1 |
12. | 11057 4 1 1 |
13. | 11178 4 1 3 |
14. | 11178 13 2 3 |
15. | 11178 18 3 3 |
|----------------------------------------|
16. | 11452 17 1 1 |
17. | 11714 4 1 2 |
18. | 11714 13 2 2 |
19. | 11954 2 1 3 |
20. | 11954 13 2 3 |
|----------------------------------------|
21. | 11954 18 3 3 |
22. | 12807 13 1 2 |
23. | 12807 18 2 2 |
+----------------------------------------+
这篇关于STATA:计算y中任意x的和?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文