首页 文章

Stata - 如果几个变量中至少有一个具有相同的值,则链接观察

提问于
浏览
0

我有以下数据结构(Picture of structure of my data),其中每一行代表一个家庭,变量"group1"标识家庭中孩子1的教室,"group2"孩子2的教室,依此类推 . 值得注意的是,总共有大约3000个群体,因为这些群体遍布全国各地 . 如果至少有一个"group"变量具有相同的值(即,如果他们的孩子中至少有一个去同一个 class ),我需要将家庭归类为属于同一组 . 如果,对于两个家庭,如果"group1" = "group2"或"group3"等,也会发生这种情况 .

我已经尝试使用 inlist 并循环遍历所有"group values",但还没有到达任何地方 .

我将非常感谢您提供的任何帮助 .

1 回答

  • 1

    这对于长布局中的数据更容易,每个孩子一次观察 . 然后,您可以使用 group_id (来自SSC)将具有子项的家庭分组到同一个类(在 group 变量中标识):

    * Example generated by -dataex-. To install: ssc install dataex
    clear
    input long household float(group1 group2 group3 group4)
    101 15 16  .  .
    102 13 14 15 17
    103 11 17  .  .
    104 33 34 35  .
    105 34 37  .  .
    end
    
    reshape long group, i(household) j(child)
    drop if mi(group)
    
    clonevar hhgroup = household
    group_id hhgroup, matchby(group)
    
    reshape wide group, i(household) j(child)
    
    list
    

    和结果

    . list
    
         +--------------------------------------------------------+
         | househ~d   group1   group2   group3   group4   hhgroup |
         |--------------------------------------------------------|
      1. |      101       15       16        .        .       101 |
      2. |      102       13       14       15       17       101 |
      3. |      103       11       17        .        .       101 |
      4. |      104       33       34       35        .       104 |
      5. |      105       34       37        .        .       104 |
         +--------------------------------------------------------+
    
    .
    

相关问题