STATA:计算y中任意x的和? [英] Stata: Calculate sum of any x in y?

查看:0
本文介绍了STATA:计算y中任意x的和?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个变量:

  1. 一个名称为PackageID(公司贷款的唯一ID号)
  2. 另一个称为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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆