Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Generate couple_id

    Dear all,

    I have the following variables indicating whether in a household (identified by hhid) the person refers to a mother and a father (a couple) and a son/daughter and their respective partner (son/daughter in law):

    I want to create a couple_id based on this information such that each mother and father in a household form a couple and each son and daughter in law another couple and daughter and son in law another couple and do this for every household such that my couple_id identifies essentially all the couples I have.

    An example of the data is as follows:

    clear
    input str9 pidlink long hhid float(mother_id father_id son_id daughter_id son_inlaw_id daughter_inlaw_id)

    "100010001" 1000100 . 1 . . . .
    "100010001" 1000100 . 1 . . . .
    "100010001" 1000100 . 1 . . . .
    "100010001" 1000100 . 1 . . . .
    "100010002" 1000100 1 . . . . .
    "100010002" 1000100 1 . . . . .
    "100010002" 1000100 1 . . . . .
    "100010002" 1000100 1 . . . . .
    "100010003" 1000100 . . . 1 . .
    "100010003" 1000100 . . . 1 . .
    "100010003" 1000100 . . . 1 . .
    "100010003" 1000100 . . . 1 . .
    "100010004" 1000100 . . . . . .
    "100010004" 1000100 . . . . . .
    "100010004" 1000100 . . . . . .
    "100010004" 1000100 . . . . . .
    "100020001" 1000200 . 1 . . . .
    "100020001" 1000200 . 1 . . . .
    "100020001" 1000200 . 1 . . . .
    "100020001" 1000200 . 1 . . . .
    "100020002" 1000200 1 . . . . .
    "100020002" 1000200 1 . . . . .
    "100020002" 1000200 1 . . . . .
    "100020002" 1000200 1 . . . . .
    "100020004" 1000200 . . 1 . . .
    "100020005" 1000200 . . . 1 . .
    "100020007" 1000200 . . . . . .
    "100030001" 1000300 . 1 . . . .
    "100030001" 1000300 . 1 . . . .
    "100030001" 1000300 . 1 . . . .
    "100030001" 1000300 . 1 . . . .
    "100030002" 1000300 1 . . . . .
    "100030002" 1000300 1 . . . . .
    "100030002" 1000300 1 . . . . .
    "100030002" 1000300 1 . . . . .
    "100030003" 1000300 . . . 1 . .
    "100030003" 1000300 . . . 1 . .
    "100030003" 1000300 . . . 1 . .
    "100030003" 1000300 . . . 1 . .
    "100030004" 1000300 . . . . . .
    "100030004" 1000300 . . . . . .
    "100030004" 1000300 . . . . . .
    "100030004" 1000300 . . . . . .
    "100030005" 1000300 . . . . . .
    "100030006" 1000300 . . . . . .
    "100040001" 1000400 . 1 . . . .
    "100040001" 1000400 . 1 . . . .
    "100040001" 1000400 . 1 . . . .
    "100040001" 1000400 . 1 . . . .
    "100040002" 1000400 1 . . . . .
    "100040002" 1000400 1 . . . . .
    "100040002" 1000400 1 . . . . .
    "100040002" 1000400 1 . . . . .
    "100040003" 1000400 . . . 1 . .
    "100040003" 1000400 . . . 1 . .
    "100040003" 1000400 . . . 1 . .
    "100040003" 1000400 . . . 1 . .
    "100040003" 1000400 . . . 1 . .
    "100040004" 1000400 . . . . . .
    "100040004" 1000400 . . . . . .
    "100040004" 1000400 . . . . . .
    "100040004" 1000400 . . . . . .
    "100040004" 1000400 . . . . . .
    "100040005" 1000400 . . . . . .
    "100040005" 1000400 . . . . . .
    "100040005" 1000400 . . . . . .
    "100040005" 1000400 . . . . . .
    "100040006" 1000400 . . 1 . . .
    "100040006" 1000400 . . 1 . . .
    "100040006" 1000400 . . 1 . . .
    "100040006" 1000400 . . 1 . . .
    "100043101" 1000431 . 1 . . . .
    "100043103" 1000431 . . . 1 . .
    "100043104" 1000431 . . 1 . . .
    "100043105" 1000431 . . . . . .
    "100043106" 1000431 . . . . . .
    "100044101" 1000441 . 1 . . . .
    "100044103" 1000400 . . . . . .
    "100050001" 1000500 . 1 . . . .
    "100050001" 1000500 . 1 . . . .
    "100050001" 1000500 . 1 . . . .
    "100050002" 1000500 1 . . . . .
    "100050002" 1000500 1 . . . . .
    "100050002" 1000500 1 . . . . .
    "100060001" 1000600 . 1 . . . .
    "100060001" 1000600 . 1 . . . .
    "100060002" 1000600 . . 1 . . .
    "100060002" 1000600 . . 1 . . .
    "100060002" 1000600 . . 1 . . .
    "100060002" 1000600 . . 1 . . .
    "100060003" 1000600 . . . . . 1
    "100060003" 1000600 . . . . . 1
    "100060004" 1000600 . . . . . .
    "100060004" 1000600 . . . . . .
    "100060004" 1000600 . . . . . .
    "100060004" 1000600 . . . . . .
    "100060005" 1000600 1 . . . . .
    "100060005" 1000600 1 . . . . .
    "100060005" 1000600 1 . . . . .
    "100060005" 1000600 1 . . . . .


    Any help would be appreciated
    Last edited by Enrique Alameda; 23 Apr 2024, 16:02.

  • #2
    Please use dataex as explained at FAQ Advice #12.

    Comment


    • #3
      Originally posted by Nick Cox View Post
      Please use dataex as explained at FAQ Advice #12.
      My apologies, I have edited the post with dataex as per the FAQ. Any help would be appreciated

      Comment


      • #4
        In the case of multiple sons, daughters and in-laws in a household, there is no way to know which pairs are couples in your data. Unless you have some other information.

        Comment


        • #5
          Ignoring the identification issue in #4, here's how you can generate a unique couple identifier:

          Code:
          * Example generated by -dataex-. For more info, type help dataex
          clear
          input str9 pidlink long hhid float(mother_id father_id son_id daughter_id son_inlaw_id daughter_inlaw_id)
          "100010001" 1000100 . 1 . . . .
          "100010001" 1000100 . 1 . . . .
          "100010001" 1000100 . 1 . . . .
          "100010001" 1000100 . 1 . . . .
          "100010002" 1000100 1 . . . . .
          "100010002" 1000100 1 . . . . .
          "100010002" 1000100 1 . . . . .
          "100010002" 1000100 1 . . . . .
          "100010003" 1000100 . . . 1 . .
          "100010003" 1000100 . . . 1 . .
          "100010003" 1000100 . . . 1 . .
          "100010003" 1000100 . . . 1 . .
          "100010004" 1000100 . . . . . .
          "100010004" 1000100 . . . . . .
          "100010004" 1000100 . . . . . .
          "100010004" 1000100 . . . . . .
          "100020001" 1000200 . 1 . . . .
          "100020001" 1000200 . 1 . . . .
          "100020001" 1000200 . 1 . . . .
          "100020001" 1000200 . 1 . . . .
          "100020002" 1000200 1 . . . . .
          "100020002" 1000200 1 . . . . .
          "100020002" 1000200 1 . . . . .
          "100020002" 1000200 1 . . . . .
          "100020004" 1000200 . . 1 . . .
          "100020005" 1000200 . . . 1 . .
          "100020007" 1000200 . . . . . .
          "100030001" 1000300 . 1 . . . .
          "100030001" 1000300 . 1 . . . .
          "100030001" 1000300 . 1 . . . .
          "100030001" 1000300 . 1 . . . .
          "100030002" 1000300 1 . . . . .
          "100030002" 1000300 1 . . . . .
          "100030002" 1000300 1 . . . . .
          "100030002" 1000300 1 . . . . .
          "100030003" 1000300 . . . 1 . .
          "100030003" 1000300 . . . 1 . .
          "100030003" 1000300 . . . 1 . .
          "100030003" 1000300 . . . 1 . .
          "100030004" 1000300 . . . . . .
          "100030004" 1000300 . . . . . .
          "100030004" 1000300 . . . . . .
          "100030004" 1000300 . . . . . .
          "100030005" 1000300 . . . . . .
          "100030006" 1000300 . . . . . .
          "100040001" 1000400 . 1 . . . .
          "100040001" 1000400 . 1 . . . .
          "100040001" 1000400 . 1 . . . .
          "100040001" 1000400 . 1 . . . .
          "100040002" 1000400 1 . . . . .
          "100040002" 1000400 1 . . . . .
          "100040002" 1000400 1 . . . . .
          "100040002" 1000400 1 . . . . .
          "100040003" 1000400 . . . 1 . .
          "100040003" 1000400 . . . 1 . .
          "100040003" 1000400 . . . 1 . .
          "100040003" 1000400 . . . 1 . .
          "100040003" 1000400 . . . 1 . .
          "100040004" 1000400 . . . . . .
          "100040004" 1000400 . . . . . .
          "100040004" 1000400 . . . . . .
          "100040004" 1000400 . . . . . .
          "100040004" 1000400 . . . . . .
          "100040005" 1000400 . . . . . .
          "100040005" 1000400 . . . . . .
          "100040005" 1000400 . . . . . .
          "100040005" 1000400 . . . . . .
          "100040006" 1000400 . . 1 . . .
          "100040006" 1000400 . . 1 . . .
          "100040006" 1000400 . . 1 . . .
          "100040006" 1000400 . . 1 . . .
          "100043101" 1000431 . 1 . . . .
          "100043103" 1000431 . . . 1 . .
          "100043104" 1000431 . . 1 . . .
          "100043105" 1000431 . . . . . .
          "100043106" 1000431 . . . . . .
          "100044101" 1000441 . 1 . . . .
          "100044103" 1000400 . . . . . .
          "100050001" 1000500 . 1 . . . .
          "100050001" 1000500 . 1 . . . .
          "100050001" 1000500 . 1 . . . .
          "100050002" 1000500 1 . . . . .
          "100050002" 1000500 1 . . . . .
          "100050002" 1000500 1 . . . . .
          "100060001" 1000600 . 1 . . . .
          "100060001" 1000600 . 1 . . . .
          "100060002" 1000600 . . 1 . . .
          "100060002" 1000600 . . 1 . . .
          "100060002" 1000600 . . 1 . . .
          "100060002" 1000600 . . 1 . . .
          "100060003" 1000600 . . . . . 1
          "100060003" 1000600 . . . . . 1
          "100060004" 1000600 . . . . . .
          "100060004" 1000600 . . . . . .
          "100060004" 1000600 . . . . . .
          "100060004" 1000600 . . . . . .
          "100060005" 1000600 1 . . . . .
          "100060005" 1000600 1 . . . . .
          "100060005" 1000600 1 . . . . .
          "100060005" 1000600 1 . . .
          end
          
          frame put *, into(couples)
          frame couples{
              egen couple= rowmax(*_id)
              contract hhid pidlink *_id if couple
              gen long obsno=_n
              reshape long @_id, i(obsno) j(which) string
              keep if !missing(_id)
              gen group= cond(inlist(which, "mother", "father"), 1, cond(inlist(which, "son_inlaw", "daughter"), 2, 3))
              bys hhid group: keep if _N==2
              bys hhid group (pidlink): gen couple_id= string(hhid[1]) +"-"+ pidlink[1]+ "-" +pidlink[2]
          }
          frlink m:1 hhid pidlink, frame(couples)
          frget couple_id, from(couples)
          frame drop couples
          Res.:

          Code:
          . l, sepby(hhid)
          
               +-----------------------------------------------------------------------------------------------------------------------------+
               |   pidlink      hhid   mother~d   father~d   son_id   dau~r_id   son_in~d   dau~w_id   couples                     couple_id |
               |-----------------------------------------------------------------------------------------------------------------------------|
            1. | 100010001   1000100          .          1        .          .          .          .         1   1000100-100010001-100010002 |
            2. | 100010001   1000100          .          1        .          .          .          .         1   1000100-100010001-100010002 |
            3. | 100010001   1000100          .          1        .          .          .          .         1   1000100-100010001-100010002 |
            4. | 100010001   1000100          .          1        .          .          .          .         1   1000100-100010001-100010002 |
            5. | 100010002   1000100          1          .        .          .          .          .         2   1000100-100010001-100010002 |
            6. | 100010002   1000100          1          .        .          .          .          .         2   1000100-100010001-100010002 |
            7. | 100010002   1000100          1          .        .          .          .          .         2   1000100-100010001-100010002 |
            8. | 100010002   1000100          1          .        .          .          .          .         2   1000100-100010001-100010002 |
            9. | 100010003   1000100          .          .        .          1          .          .         .                               |
           10. | 100010003   1000100          .          .        .          1          .          .         .                               |
           11. | 100010003   1000100          .          .        .          1          .          .         .                               |
           12. | 100010003   1000100          .          .        .          1          .          .         .                               |
           13. | 100010004   1000100          .          .        .          .          .          .         .                               |
           14. | 100010004   1000100          .          .        .          .          .          .         .                               |
           15. | 100010004   1000100          .          .        .          .          .          .         .                               |
           16. | 100010004   1000100          .          .        .          .          .          .         .                               |
               |-----------------------------------------------------------------------------------------------------------------------------|
           17. | 100020001   1000200          .          1        .          .          .          .         3   1000200-100020001-100020002 |
           18. | 100020001   1000200          .          1        .          .          .          .         3   1000200-100020001-100020002 |
           19. | 100020001   1000200          .          1        .          .          .          .         3   1000200-100020001-100020002 |
           20. | 100020001   1000200          .          1        .          .          .          .         3   1000200-100020001-100020002 |
           21. | 100020002   1000200          1          .        .          .          .          .         4   1000200-100020001-100020002 |
           22. | 100020002   1000200          1          .        .          .          .          .         4   1000200-100020001-100020002 |
           23. | 100020002   1000200          1          .        .          .          .          .         4   1000200-100020001-100020002 |
           24. | 100020002   1000200          1          .        .          .          .          .         4   1000200-100020001-100020002 |
           25. | 100020004   1000200          .          .        1          .          .          .         .                               |
           26. | 100020005   1000200          .          .        .          1          .          .         .                               |
           27. | 100020007   1000200          .          .        .          .          .          .         .                               |
               |-----------------------------------------------------------------------------------------------------------------------------|
           28. | 100030001   1000300          .          1        .          .          .          .         5   1000300-100030001-100030002 |
           29. | 100030001   1000300          .          1        .          .          .          .         5   1000300-100030001-100030002 |
           30. | 100030001   1000300          .          1        .          .          .          .         5   1000300-100030001-100030002 |
           31. | 100030001   1000300          .          1        .          .          .          .         5   1000300-100030001-100030002 |
           32. | 100030002   1000300          1          .        .          .          .          .         6   1000300-100030001-100030002 |
           33. | 100030002   1000300          1          .        .          .          .          .         6   1000300-100030001-100030002 |
           34. | 100030002   1000300          1          .        .          .          .          .         6   1000300-100030001-100030002 |
           35. | 100030002   1000300          1          .        .          .          .          .         6   1000300-100030001-100030002 |
           36. | 100030003   1000300          .          .        .          1          .          .         .                               |
           37. | 100030003   1000300          .          .        .          1          .          .         .                               |
           38. | 100030003   1000300          .          .        .          1          .          .         .                               |
           39. | 100030003   1000300          .          .        .          1          .          .         .                               |
           40. | 100030004   1000300          .          .        .          .          .          .         .                               |
           41. | 100030004   1000300          .          .        .          .          .          .         .                               |
           42. | 100030004   1000300          .          .        .          .          .          .         .                               |
           43. | 100030004   1000300          .          .        .          .          .          .         .                               |
           44. | 100030005   1000300          .          .        .          .          .          .         .                               |
           45. | 100030006   1000300          .          .        .          .          .          .         .                               |
               |-----------------------------------------------------------------------------------------------------------------------------|
           46. | 100040001   1000400          .          1        .          .          .          .         7   1000400-100040001-100040002 |
           47. | 100040001   1000400          .          1        .          .          .          .         7   1000400-100040001-100040002 |
           48. | 100040001   1000400          .          1        .          .          .          .         7   1000400-100040001-100040002 |
           49. | 100040001   1000400          .          1        .          .          .          .         7   1000400-100040001-100040002 |
           50. | 100040002   1000400          1          .        .          .          .          .         8   1000400-100040001-100040002 |
           51. | 100040002   1000400          1          .        .          .          .          .         8   1000400-100040001-100040002 |
           52. | 100040002   1000400          1          .        .          .          .          .         8   1000400-100040001-100040002 |
           53. | 100040002   1000400          1          .        .          .          .          .         8   1000400-100040001-100040002 |
           54. | 100040003   1000400          .          .        .          1          .          .         .                               |
           55. | 100040003   1000400          .          .        .          1          .          .         .                               |
           56. | 100040003   1000400          .          .        .          1          .          .         .                               |
           57. | 100040003   1000400          .          .        .          1          .          .         .                               |
           58. | 100040003   1000400          .          .        .          1          .          .         .                               |
           59. | 100040004   1000400          .          .        .          .          .          .         .                               |
           60. | 100040004   1000400          .          .        .          .          .          .         .                               |
           61. | 100040004   1000400          .          .        .          .          .          .         .                               |
           62. | 100040004   1000400          .          .        .          .          .          .         .                               |
           63. | 100040004   1000400          .          .        .          .          .          .         .                               |
           64. | 100040005   1000400          .          .        .          .          .          .         .                               |
           65. | 100040005   1000400          .          .        .          .          .          .         .                               |
           66. | 100040005   1000400          .          .        .          .          .          .         .                               |
           67. | 100040005   1000400          .          .        .          .          .          .         .                               |
           68. | 100040006   1000400          .          .        1          .          .          .         .                               |
           69. | 100040006   1000400          .          .        1          .          .          .         .                               |
           70. | 100040006   1000400          .          .        1          .          .          .         .                               |
           71. | 100040006   1000400          .          .        1          .          .          .         .                               |
               |-----------------------------------------------------------------------------------------------------------------------------|
           72. | 100043101   1000431          .          1        .          .          .          .         .                               |
           73. | 100043103   1000431          .          .        .          1          .          .         .                               |
           74. | 100043104   1000431          .          .        1          .          .          .         .                               |
           75. | 100043105   1000431          .          .        .          .          .          .         .                               |
           76. | 100043106   1000431          .          .        .          .          .          .         .                               |
               |-----------------------------------------------------------------------------------------------------------------------------|
           77. | 100044101   1000441          .          1        .          .          .          .         .                               |
               |-----------------------------------------------------------------------------------------------------------------------------|
           78. | 100044103   1000400          .          .        .          .          .          .         .                               |
               |-----------------------------------------------------------------------------------------------------------------------------|
           79. | 100050001   1000500          .          1        .          .          .          .         9   1000500-100050001-100050002 |
           80. | 100050001   1000500          .          1        .          .          .          .         9   1000500-100050001-100050002 |
           81. | 100050001   1000500          .          1        .          .          .          .         9   1000500-100050001-100050002 |
           82. | 100050002   1000500          1          .        .          .          .          .        10   1000500-100050001-100050002 |
           83. | 100050002   1000500          1          .        .          .          .          .        10   1000500-100050001-100050002 |
           84. | 100050002   1000500          1          .        .          .          .          .        10   1000500-100050001-100050002 |
               |-----------------------------------------------------------------------------------------------------------------------------|
           85. | 100060001   1000600          .          1        .          .          .          .        11   1000600-100060001-100060005 |
           86. | 100060001   1000600          .          1        .          .          .          .        11   1000600-100060001-100060005 |
           87. | 100060002   1000600          .          .        1          .          .          .        12   1000600-100060002-100060003 |
           88. | 100060002   1000600          .          .        1          .          .          .        12   1000600-100060002-100060003 |
           89. | 100060002   1000600          .          .        1          .          .          .        12   1000600-100060002-100060003 |
           90. | 100060002   1000600          .          .        1          .          .          .        12   1000600-100060002-100060003 |
           91. | 100060003   1000600          .          .        .          .          .          1        13   1000600-100060002-100060003 |
           92. | 100060003   1000600          .          .        .          .          .          1        13   1000600-100060002-100060003 |
           93. | 100060004   1000600          .          .        .          .          .          .         .                               |
           94. | 100060004   1000600          .          .        .          .          .          .         .                               |
           95. | 100060004   1000600          .          .        .          .          .          .         .                               |
           96. | 100060004   1000600          .          .        .          .          .          .         .                               |
           97. | 100060005   1000600          1          .        .          .          .          .        14   1000600-100060001-100060005 |
           98. | 100060005   1000600          1          .        .          .          .          .        14   1000600-100060001-100060005 |
           99. | 100060005   1000600          1          .        .          .          .          .        14   1000600-100060001-100060005 |
               +-----------------------------------------------------------------------------------------------------------------------------+
          
          .

          Comment


          • #6
            Hi Andrew, thank you for this.


            When I try to run your solution, I get the error:

            invalid match variables for 1:1 or m:1 match
            The variables you specified for matching do not uniquely identify the observations in frame
            couples. Each observation in the current frame default must link to one observation in couples.


            Here is the dataex:

            input str9 pidlink long hhid float(mother_id father_id son_id daughter_id son_inlaw_id daughter_inlaw_id)
            "1060002" 10600 1 . . . . .
            "1060004" 10600 . . . 1 . .
            "1060001" 10600 . 1 . . . .
            "1060005" 10600 . . 1 . . .
            "1060004" 10600 . . . 1 . .
            "1060001" 10600 . 1 . . . .
            "1060006" 10600 . . . 1 . .
            "1060003" 10600 . . . 1 . .
            "1080010" 10800 . . . 1 . .
            "1080001" 10800 . 1 . . . .
            "1080004" 10800 . . . 1 . .
            "1080006" 10800 . . 1 . . .
            "1080002" 10800 1 . . . . .
            "1080007" 10800 . . . 1 . .
            "1080004" 10800 . . . 1 . .
            "1080008" 10800 . . . 1 . .
            "1080006" 10800 . . 1 . . .
            "1080005" 10800 . . 1 . . .
            "1080009" 10800 . . . 1 . .
            "1080012" 10800 . . . . . 1
            "1080007" 10800 . . . 1 . .
            "1080003" 10800 . . 1 . . .
            "1080001" 10800 . 1 . . . .
            "1080008" 10800 . . . 1 . .
            "1080009" 10800 . . . 1 . .
            "1080005" 10800 . . 1 . . .
            "1080010" 10800 . . . 1 . .
            "1080003" 10800 . . 1 . . .
            "1220011" 12200 . . . 1 . .
            "1220010" 12200 . . . 1 . .
            "1220003" 12200 . 1 . . . .
            "1220005" 12200 . . . 1 . .
            "1220003" 12200 . . 1 . . .
            "1220001" 12200 . 1 . . . .
            "1220015" 12200 . . . 1 . .
            "1220006" 12200 . . 1 . . .
            "1220003" 12200 . . 1 . . .
            "1220008" 12200 . . 1 . . .
            "1220001" 12200 . 1 . . . .
            "1220009" 12200 . . 1 . . .
            "1220004" 12200 . . . 1 . .
            "1220002" 12200 1 . . . . .
            "1220008" 12200 . . 1 . . .
            "1220008" 12200 . . 1 . . .
            "1220005" 12200 . . . 1 . .
            "1220007" 12200 . . . 1 . .
            "1220010" 12200 . . . 1 . .
            "1220004" 12200 . . . 1 . .
            "1220004" 12200 . . . 1 . .
            "1220009" 12200 . . 1 . . .
            "1220003" 12200 . . 1 . . .
            "1220005" 12200 . . . 1 . .
            "1220003" 12200 . . 1 . . .
            "1220002" 12200 1 . . . . .
            "1220011" 12200 1 . . . . .
            "1220008" 12200 . 1 . . . .
            "1220006" 12200 . . 1 . . .
            "1220001" 12200 . 1 . . . .
            "1220002" 12200 1 . . . . .
            "1220006" 12200 . . 1 . . .
            "1220013" 12200 . . . 1 . .
            "1220009" 12200 . . 1 . . .
            "1220002" 12200 1 . . . . .
            "1220011" 12200 . . . . . 1
            "1220007" 12200 . . . 1 . .
            "1220005" 12200 . . . 1 . .
            "1220010" 12200 . . . 1 . .
            "1220007" 12200 . . . 1 . .
            "1220014" 12200 . . 1 . . .
            "1220008" 12200 . . 1 . . .
            "1220004" 12200 . . . 1 . .
            "1220006" 12200 . . 1 . . .
            "1220001" 12200 . 1 . . . .
            "1220010" 12200 . . . 1 . .
            "1220009" 12200 . . 1 . . .
            "1220007" 12200 . . . 1 . .
            "1224105" 12241 . . 1 . . .
            "1224104" 12241 . . . 1 . .
            "1240011" 12400 . . . . . 1
            "1240003" 12400 . . 1 . . .
            "1240003" 12400 . . 1 . . .
            "1240007" 12400 . . . 1 . .
            "1240002" 12400 1 . . . . .
            "1240009" 12400 . . . 1 . .
            "1240008" 12400 . . . 1 . .
            "1240002" 12400 1 . . . . .
            "1240004" 12400 . . 1 . . .
            "1240008" 12400 . . . 1 . .
            "1240014" 12400 . . . 1 . .
            "1240010" 12400 . . . 1 . .
            "1240001" 12400 . 1 . . . .
            "1240006" 12400 . . . 1 . .
            "1240009" 12400 . . . 1 . .
            "1240005" 12400 . . . 1 . .
            "1240007" 12400 . . . 1 . .
            "1240004" 12400 . . 1 . . .
            "1240010" 12400 . . . 1 . .
            "1240006" 12400 . . . 1 . .
            "1240005" 12400 . . . 1 . .
            "1250009" 12500 . . 1 . . .


            Any help would be appreciated. Thanks again.

            Comment


            • #7
              I cannot recreate the problem with your data example. You need to find a subset of your data that reproduces the problem. This works for me:

              Code:
              clear
              input str9 pidlink long hhid float(mother_id father_id son_id daughter_id son_inlaw_id daughter_inlaw_id)
              "1060002" 10600 1 . . . . .
              "1060004" 10600 . . . 1 . .
              "1060001" 10600 . 1 . . . .
              "1060005" 10600 . . 1 . . .
              "1060004" 10600 . . . 1 . .
              "1060001" 10600 . 1 . . . .
              "1060006" 10600 . . . 1 . .
              "1060003" 10600 . . . 1 . .
              "1080010" 10800 . . . 1 . .
              "1080001" 10800 . 1 . . . .
              "1080004" 10800 . . . 1 . .
              "1080006" 10800 . . 1 . . .
              "1080002" 10800 1 . . . . .
              "1080007" 10800 . . . 1 . .
              "1080004" 10800 . . . 1 . .
              "1080008" 10800 . . . 1 . .
              "1080006" 10800 . . 1 . . .
              "1080005" 10800 . . 1 . . .
              "1080009" 10800 . . . 1 . .
              "1080012" 10800 . . . . . 1
              "1080007" 10800 . . . 1 . .
              "1080003" 10800 . . 1 . . .
              "1080001" 10800 . 1 . . . .
              "1080008" 10800 . . . 1 . .
              "1080009" 10800 . . . 1 . .
              "1080005" 10800 . . 1 . . .
              "1080010" 10800 . . . 1 . .
              "1080003" 10800 . . 1 . . .
              "1220011" 12200 . . . 1 . .
              "1220010" 12200 . . . 1 . .
              "1220003" 12200 . 1 . . . .
              "1220005" 12200 . . . 1 . .
              "1220003" 12200 . . 1 . . .
              "1220001" 12200 . 1 . . . .
              "1220015" 12200 . . . 1 . .
              "1220006" 12200 . . 1 . . .
              "1220003" 12200 . . 1 . . .
              "1220008" 12200 . . 1 . . .
              "1220001" 12200 . 1 . . . .
              "1220009" 12200 . . 1 . . .
              "1220004" 12200 . . . 1 . .
              "1220002" 12200 1 . . . . .
              "1220008" 12200 . . 1 . . .
              "1220008" 12200 . . 1 . . .
              "1220005" 12200 . . . 1 . .
              "1220007" 12200 . . . 1 . .
              "1220010" 12200 . . . 1 . .
              "1220004" 12200 . . . 1 . .
              "1220004" 12200 . . . 1 . .
              "1220009" 12200 . . 1 . . .
              "1220003" 12200 . . 1 . . .
              "1220005" 12200 . . . 1 . .
              "1220003" 12200 . . 1 . . .
              "1220002" 12200 1 . . . . .
              "1220011" 12200 1 . . . . .
              "1220008" 12200 . 1 . . . .
              "1220006" 12200 . . 1 . . .
              "1220001" 12200 . 1 . . . .
              "1220002" 12200 1 . . . . .
              "1220006" 12200 . . 1 . . .
              "1220013" 12200 . . . 1 . .
              "1220009" 12200 . . 1 . . .
              "1220002" 12200 1 . . . . .
              "1220011" 12200 . . . . . 1
              "1220007" 12200 . . . 1 . .
              "1220005" 12200 . . . 1 . .
              "1220010" 12200 . . . 1 . .
              "1220007" 12200 . . . 1 . .
              "1220014" 12200 . . 1 . . .
              "1220008" 12200 . . 1 . . .
              "1220004" 12200 . . . 1 . .
              "1220006" 12200 . . 1 . . .
              "1220001" 12200 . 1 . . . .
              "1220010" 12200 . . . 1 . .
              "1220009" 12200 . . 1 . . .
              "1220007" 12200 . . . 1 . .
              "1224105" 12241 . . 1 . . .
              "1224104" 12241 . . . 1 . .
              "1240011" 12400 . . . . . 1
              "1240003" 12400 . . 1 . . .
              "1240003" 12400 . . 1 . . .
              "1240007" 12400 . . . 1 . .
              "1240002" 12400 1 . . . . .
              "1240009" 12400 . . . 1 . .
              "1240008" 12400 . . . 1 . .
              "1240002" 12400 1 . . . . .
              "1240004" 12400 . . 1 . . .
              "1240008" 12400 . . . 1 . .
              "1240014" 12400 . . . 1 . .
              "1240010" 12400 . . . 1 . .
              "1240001" 12400 . 1 . . . .
              "1240006" 12400 . . . 1 . .
              "1240009" 12400 . . . 1 . .
              "1240005" 12400 . . . 1 . .
              "1240007" 12400 . . . 1 . .
              "1240004" 12400 . . 1 . . .
              "1240010" 12400 . . . 1 . .
              "1240006" 12400 . . . 1 . .
              "1240005" 12400 . . . 1 . .
              "1250009" 12500 . . 1 . . .
              end
              
              frame put *, into(couples)
              frame couples{
                  egen couple= rowmax(*_id)
                  contract hhid pidlink *_id if couple
                  gen long obsno=_n
                  reshape long @_id, i(obsno) j(which) string
                  keep if !missing(_id)
                  gen group= cond(inlist(which, "mother", "father"), 1, cond(inlist(which, "son_inlaw", "daughter"), 2, 3))
                  bys hhid group: keep if _N==2
                  bys hhid group (pidlink): gen couple_id= string(hhid[1]) +"-"+ pidlink[1]+ "-" +pidlink[2]
              }
              frlink m:1 hhid pidlink, frame(couples)
              frget couple_id, from(couples)
              frame drop couples

              Comment


              • #8
                Thank you Andrew -- your solution worked well, I did not apply the code well the first time around.

                Comment

                Working...
                X