使用Stata根据变量的组合类型生成新变量

Use Stata to generate new variable, based on combination types of variables

假设我有一个包含三个变量 abc 和 5 个观察值的数据集。像下面这样:

    a   b   c
    1   0   1
    1   1   1
    0   1   0
    0   1   1
    1   0   0

现在我想生成一个名为 type 的新变量,它可能是变量 abc 的组合。具体来说,

我要获取的新数据集是:

    a   b   c   type
    1   0   1   7
    1   1   1   8
    0   1   0   2
    0   1   1   4
    1   0   0   5

有什么通用的方法可以在 Stata 中实现这一点?如果 type 很大时也可以扩展,比如 100 种类型,那就更好了。非常感谢。

如果 type 的具体值无关紧要,egengroup 函数有效。

例如:

clear 
input   a   b   c
    1   0   1
    1   1   1
    0   1   0
    0   1   1
    1   0   0
    0   1   0
    1   1   1
end

sort a b c // not necessary, but clearer presentation
egen type = group(a b c)

li

结果

     +------------------+
     | a   b   c   type |
     |------------------|
  1. | 0   1   0      1 |
  2. | 0   1   0      1 |
  3. | 0   1   1      2 |
  4. | 1   0   0      3 |
  5. | 1   0   1      4 |
     |------------------|
  6. | 1   1   1      5 |
  7. | 1   1   1      5 |
     +------------------+