Announcement

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

  • Generate sequences by unbalanced block

    Hi, I would like to generate an identifier for two individuals who are paired up. As you can see, in each supergame, the rounds are not balanced, some are 8 rounds, some are 9 rounds etc.
    In the example below there are 6 pairs. How can I generate a sequence 1 1 1 1 1 1... 2 2 2 2 2 2... to identify pairs? I can't use supergame, as in each supergame, there are multiple pairs.
    Thank you in advance for your time!

    Code:
    * Example generated by -dataex-. For more info, type help dataex
    clear
    input str8 indv_code byte(supergame round)
    "o1mfjlez" 1 1
    "olxqltyg" 1 1
    "o1mfjlez" 1 2
    "olxqltyg" 1 2
    "o1mfjlez" 1 3
    "olxqltyg" 1 3
    "o1mfjlez" 1 4
    "olxqltyg" 1 4
    "o1mfjlez" 1 5
    "olxqltyg" 1 5
    "o1mfjlez" 1 6
    "olxqltyg" 1 6
    "o1mfjlez" 1 7
    "olxqltyg" 1 7
    "o1mfjlez" 1 8
    "olxqltyg" 1 8
    "41tzatyw" 2 1
    "bmatbr8o" 2 1
    "41tzatyw" 2 2
    "bmatbr8o" 2 2
    "41tzatyw" 2 3
    "bmatbr8o" 2 3
    "41tzatyw" 2 4
    "bmatbr8o" 2 4
    "41tzatyw" 2 5
    "bmatbr8o" 2 5
    "41tzatyw" 2 6
    "bmatbr8o" 2 6
    "41tzatyw" 2 7
    "bmatbr8o" 2 7
    "41tzatyw" 2 8
    "bmatbr8o" 2 8
    "41tzatyw" 2 9
    "bmatbr8o" 2 9
    "evl0kldq" 1 1
    "zwmvybu3" 1 1
    "evl0kldq" 1 2
    "zwmvybu3" 1 2
    "evl0kldq" 1 3
    "zwmvybu3" 1 3
    "evl0kldq" 1 4
    "zwmvybu3" 1 4
    "evl0kldq" 1 5
    "zwmvybu3" 1 5
    "evl0kldq" 1 6
    "zwmvybu3" 1 6
    "evl0kldq" 1 7
    "zwmvybu3" 1 7
    "evl0kldq" 1 8
    "zwmvybu3" 1 8
    "0psp3d7e" 2 1
    "y5dj5gtd" 2 1
    "0psp3d7e" 2 2
    "y5dj5gtd" 2 2
    "0psp3d7e" 2 3
    "y5dj5gtd" 2 3
    "0psp3d7e" 2 4
    "y5dj5gtd" 2 4
    "0psp3d7e" 2 5
    "y5dj5gtd" 2 5
    "0psp3d7e" 2 6
    "y5dj5gtd" 2 6
    "0psp3d7e" 2 7
    "y5dj5gtd" 2 7
    "0psp3d7e" 2 8
    "y5dj5gtd" 2 8
    "0psp3d7e" 2 9
    "y5dj5gtd" 2 9
    "9tr6vrr7" 1 1
    "y5dj5gtd" 1 1
    "9tr6vrr7" 1 2
    "y5dj5gtd" 1 2
    "9tr6vrr7" 1 3
    "y5dj5gtd" 1 3
    "9tr6vrr7" 1 4
    "y5dj5gtd" 1 4
    "9tr6vrr7" 1 5
    "y5dj5gtd" 1 5
    "9tr6vrr7" 1 6
    "y5dj5gtd" 1 6
    "9tr6vrr7" 1 7
    "y5dj5gtd" 1 7
    "9tr6vrr7" 1 8
    "y5dj5gtd" 1 8
    "e39rsrhm" 2 1
    "zwmvybu3" 2 1
    "e39rsrhm" 2 2
    "zwmvybu3" 2 2
    "e39rsrhm" 2 3
    "zwmvybu3" 2 3
    "e39rsrhm" 2 4
    "zwmvybu3" 2 4
    "e39rsrhm" 2 5
    "zwmvybu3" 2 5
    "e39rsrhm" 2 6
    "zwmvybu3" 2 6
    "e39rsrhm" 2 7
    "zwmvybu3" 2 7
    "e39rsrhm" 2 8
    "zwmvybu3" 2 8
    end

  • #2
    Jinruii:
    I am not clear with what you'after.
    Maybe the following will do:
    Code:
    egen wanted=group( supergame round)
    Kind regards,
    Carlo
    (Stata 19.0)

    Comment


    • #3
      Following Carlo Lazzaro's suggestion to use the -group()- function of egen, if you want an identifier for pairs, you first need to create such a variable by sorting across super games and rounds before applying this function. Alphabetical ordering will ensure that the pairs are unique, even if the order of individuals differs across super games. However, it appears that you are relying on the order of observations to determine who is paired with whom in a given super game and round, which is risky if your assumption does not hold. Or perhaps you have another variable that you are not showing us.

      Code:
      * Example generated by -dataex-. For more info, type help dataex
      clear
      input str8 indv_code byte(supergame round)
      "o1mfjlez" 1 1
      "olxqltyg" 1 1
      "o1mfjlez" 1 2
      "olxqltyg" 1 2
      "o1mfjlez" 1 3
      "olxqltyg" 1 3
      "o1mfjlez" 1 4
      "olxqltyg" 1 4
      "o1mfjlez" 1 5
      "olxqltyg" 1 5
      "o1mfjlez" 1 6
      "olxqltyg" 1 6
      "o1mfjlez" 1 7
      "olxqltyg" 1 7
      "o1mfjlez" 1 8
      "olxqltyg" 1 8
      "41tzatyw" 2 1
      "bmatbr8o" 2 1
      "41tzatyw" 2 2
      "bmatbr8o" 2 2
      "41tzatyw" 2 3
      "bmatbr8o" 2 3
      "41tzatyw" 2 4
      "bmatbr8o" 2 4
      "41tzatyw" 2 5
      "bmatbr8o" 2 5
      "41tzatyw" 2 6
      "bmatbr8o" 2 6
      "41tzatyw" 2 7
      "bmatbr8o" 2 7
      "41tzatyw" 2 8
      "bmatbr8o" 2 8
      "41tzatyw" 2 9
      "bmatbr8o" 2 9
      "evl0kldq" 1 1
      "zwmvybu3" 1 1
      "evl0kldq" 1 2
      "zwmvybu3" 1 2
      "evl0kldq" 1 3
      "zwmvybu3" 1 3
      "evl0kldq" 1 4
      "zwmvybu3" 1 4
      "evl0kldq" 1 5
      "zwmvybu3" 1 5
      "evl0kldq" 1 6
      "zwmvybu3" 1 6
      "evl0kldq" 1 7
      "zwmvybu3" 1 7
      "evl0kldq" 1 8
      "zwmvybu3" 1 8
      "0psp3d7e" 2 1
      "y5dj5gtd" 2 1
      "0psp3d7e" 2 2
      "y5dj5gtd" 2 2
      "0psp3d7e" 2 3
      "y5dj5gtd" 2 3
      "0psp3d7e" 2 4
      "y5dj5gtd" 2 4
      "0psp3d7e" 2 5
      "y5dj5gtd" 2 5
      "0psp3d7e" 2 6
      "y5dj5gtd" 2 6
      "0psp3d7e" 2 7
      "y5dj5gtd" 2 7
      "0psp3d7e" 2 8
      "y5dj5gtd" 2 8
      "0psp3d7e" 2 9
      "y5dj5gtd" 2 9
      "9tr6vrr7" 1 1
      "y5dj5gtd" 1 1
      "9tr6vrr7" 1 2
      "y5dj5gtd" 1 2
      "9tr6vrr7" 1 3
      "y5dj5gtd" 1 3
      "9tr6vrr7" 1 4
      "y5dj5gtd" 1 4
      "9tr6vrr7" 1 5
      "y5dj5gtd" 1 5
      "9tr6vrr7" 1 6
      "y5dj5gtd" 1 6
      "9tr6vrr7" 1 7
      "y5dj5gtd" 1 7
      "9tr6vrr7" 1 8
      "y5dj5gtd" 1 8
      "e39rsrhm" 2 1
      "zwmvybu3" 2 1
      "e39rsrhm" 2 2
      "zwmvybu3" 2 2
      "e39rsrhm" 2 3
      "zwmvybu3" 2 3
      "e39rsrhm" 2 4
      "zwmvybu3" 2 4
      "e39rsrhm" 2 5
      "zwmvybu3" 2 5
      "e39rsrhm" 2 6
      "zwmvybu3" 2 6
      "e39rsrhm" 2 7
      "zwmvybu3" 2 7
      "e39rsrhm" 2 8
      "zwmvybu3" 2 8
      end
      
      *ASSUMES THAT MATCHING DETERMINED BY ORDER OF OBSERVATIONS
      gen seq= sum(supergame!=supergame[_n-1])
      bys supergame round seq (indv_code): gen pair= indv_code[1] + " " + indv_code[2]
      egen wanted= group(pair)
      Res.:

      Code:
      . sort wanted seq supergame round
      
      . l, sepby(wanted)
      
           +----------------------------------------------------------------+
           | indv_c~e   superg~e   round   seq                pair   wanted |
           |----------------------------------------------------------------|
        1. | y5dj5gtd          2       1     4   0psp3d7e y5dj5gtd        1 |
        2. | 0psp3d7e          2       1     4   0psp3d7e y5dj5gtd        1 |
        3. | 0psp3d7e          2       2     4   0psp3d7e y5dj5gtd        1 |
        4. | y5dj5gtd          2       2     4   0psp3d7e y5dj5gtd        1 |
        5. | y5dj5gtd          2       3     4   0psp3d7e y5dj5gtd        1 |
        6. | 0psp3d7e          2       3     4   0psp3d7e y5dj5gtd        1 |
        7. | 0psp3d7e          2       4     4   0psp3d7e y5dj5gtd        1 |
        8. | y5dj5gtd          2       4     4   0psp3d7e y5dj5gtd        1 |
        9. | 0psp3d7e          2       5     4   0psp3d7e y5dj5gtd        1 |
       10. | y5dj5gtd          2       5     4   0psp3d7e y5dj5gtd        1 |
       11. | y5dj5gtd          2       6     4   0psp3d7e y5dj5gtd        1 |
       12. | 0psp3d7e          2       6     4   0psp3d7e y5dj5gtd        1 |
       13. | 0psp3d7e          2       7     4   0psp3d7e y5dj5gtd        1 |
       14. | y5dj5gtd          2       7     4   0psp3d7e y5dj5gtd        1 |
       15. | 0psp3d7e          2       8     4   0psp3d7e y5dj5gtd        1 |
       16. | y5dj5gtd          2       8     4   0psp3d7e y5dj5gtd        1 |
       17. | y5dj5gtd          2       9     4   0psp3d7e y5dj5gtd        1 |
       18. | 0psp3d7e          2       9     4   0psp3d7e y5dj5gtd        1 |
           |----------------------------------------------------------------|
       19. | 41tzatyw          2       1     2   41tzatyw bmatbr8o        2 |
       20. | bmatbr8o          2       1     2   41tzatyw bmatbr8o        2 |
       21. | 41tzatyw          2       2     2   41tzatyw bmatbr8o        2 |
       22. | bmatbr8o          2       2     2   41tzatyw bmatbr8o        2 |
       23. | bmatbr8o          2       3     2   41tzatyw bmatbr8o        2 |
       24. | 41tzatyw          2       3     2   41tzatyw bmatbr8o        2 |
       25. | bmatbr8o          2       4     2   41tzatyw bmatbr8o        2 |
       26. | 41tzatyw          2       4     2   41tzatyw bmatbr8o        2 |
       27. | bmatbr8o          2       5     2   41tzatyw bmatbr8o        2 |
       28. | 41tzatyw          2       5     2   41tzatyw bmatbr8o        2 |
       29. | bmatbr8o          2       6     2   41tzatyw bmatbr8o        2 |
       30. | 41tzatyw          2       6     2   41tzatyw bmatbr8o        2 |
       31. | 41tzatyw          2       7     2   41tzatyw bmatbr8o        2 |
       32. | bmatbr8o          2       7     2   41tzatyw bmatbr8o        2 |
       33. | bmatbr8o          2       8     2   41tzatyw bmatbr8o        2 |
       34. | 41tzatyw          2       8     2   41tzatyw bmatbr8o        2 |
       35. | bmatbr8o          2       9     2   41tzatyw bmatbr8o        2 |
       36. | 41tzatyw          2       9     2   41tzatyw bmatbr8o        2 |
           |----------------------------------------------------------------|
       37. | 9tr6vrr7          1       1     5   9tr6vrr7 y5dj5gtd        3 |
       38. | y5dj5gtd          1       1     5   9tr6vrr7 y5dj5gtd        3 |
       39. | y5dj5gtd          1       2     5   9tr6vrr7 y5dj5gtd        3 |
       40. | 9tr6vrr7          1       2     5   9tr6vrr7 y5dj5gtd        3 |
       41. | 9tr6vrr7          1       3     5   9tr6vrr7 y5dj5gtd        3 |
       42. | y5dj5gtd          1       3     5   9tr6vrr7 y5dj5gtd        3 |
       43. | 9tr6vrr7          1       4     5   9tr6vrr7 y5dj5gtd        3 |
       44. | y5dj5gtd          1       4     5   9tr6vrr7 y5dj5gtd        3 |
       45. | 9tr6vrr7          1       5     5   9tr6vrr7 y5dj5gtd        3 |
       46. | y5dj5gtd          1       5     5   9tr6vrr7 y5dj5gtd        3 |
       47. | 9tr6vrr7          1       6     5   9tr6vrr7 y5dj5gtd        3 |
       48. | y5dj5gtd          1       6     5   9tr6vrr7 y5dj5gtd        3 |
       49. | y5dj5gtd          1       7     5   9tr6vrr7 y5dj5gtd        3 |
       50. | 9tr6vrr7          1       7     5   9tr6vrr7 y5dj5gtd        3 |
       51. | 9tr6vrr7          1       8     5   9tr6vrr7 y5dj5gtd        3 |
       52. | y5dj5gtd          1       8     5   9tr6vrr7 y5dj5gtd        3 |
           |----------------------------------------------------------------|
       53. | zwmvybu3          2       1     6   e39rsrhm zwmvybu3        4 |
       54. | e39rsrhm          2       1     6   e39rsrhm zwmvybu3        4 |
       55. | zwmvybu3          2       2     6   e39rsrhm zwmvybu3        4 |
       56. | e39rsrhm          2       2     6   e39rsrhm zwmvybu3        4 |
       57. | e39rsrhm          2       3     6   e39rsrhm zwmvybu3        4 |
       58. | zwmvybu3          2       3     6   e39rsrhm zwmvybu3        4 |
       59. | e39rsrhm          2       4     6   e39rsrhm zwmvybu3        4 |
       60. | zwmvybu3          2       4     6   e39rsrhm zwmvybu3        4 |
       61. | e39rsrhm          2       5     6   e39rsrhm zwmvybu3        4 |
       62. | zwmvybu3          2       5     6   e39rsrhm zwmvybu3        4 |
       63. | zwmvybu3          2       6     6   e39rsrhm zwmvybu3        4 |
       64. | e39rsrhm          2       6     6   e39rsrhm zwmvybu3        4 |
       65. | e39rsrhm          2       7     6   e39rsrhm zwmvybu3        4 |
       66. | zwmvybu3          2       7     6   e39rsrhm zwmvybu3        4 |
       67. | zwmvybu3          2       8     6   e39rsrhm zwmvybu3        4 |
       68. | e39rsrhm          2       8     6   e39rsrhm zwmvybu3        4 |
           |----------------------------------------------------------------|
       69. | evl0kldq          1       1     3   evl0kldq zwmvybu3        5 |
       70. | zwmvybu3          1       1     3   evl0kldq zwmvybu3        5 |
       71. | evl0kldq          1       2     3   evl0kldq zwmvybu3        5 |
       72. | zwmvybu3          1       2     3   evl0kldq zwmvybu3        5 |
       73. | evl0kldq          1       3     3   evl0kldq zwmvybu3        5 |
       74. | zwmvybu3          1       3     3   evl0kldq zwmvybu3        5 |
       75. | zwmvybu3          1       4     3   evl0kldq zwmvybu3        5 |
       76. | evl0kldq          1       4     3   evl0kldq zwmvybu3        5 |
       77. | evl0kldq          1       5     3   evl0kldq zwmvybu3        5 |
       78. | zwmvybu3          1       5     3   evl0kldq zwmvybu3        5 |
       79. | evl0kldq          1       6     3   evl0kldq zwmvybu3        5 |
       80. | zwmvybu3          1       6     3   evl0kldq zwmvybu3        5 |
       81. | zwmvybu3          1       7     3   evl0kldq zwmvybu3        5 |
       82. | evl0kldq          1       7     3   evl0kldq zwmvybu3        5 |
       83. | evl0kldq          1       8     3   evl0kldq zwmvybu3        5 |
       84. | zwmvybu3          1       8     3   evl0kldq zwmvybu3        5 |
           |----------------------------------------------------------------|
       85. | o1mfjlez          1       1     1   o1mfjlez olxqltyg        6 |
       86. | olxqltyg          1       1     1   o1mfjlez olxqltyg        6 |
       87. | olxqltyg          1       2     1   o1mfjlez olxqltyg        6 |
       88. | o1mfjlez          1       2     1   o1mfjlez olxqltyg        6 |
       89. | o1mfjlez          1       3     1   o1mfjlez olxqltyg        6 |
       90. | olxqltyg          1       3     1   o1mfjlez olxqltyg        6 |
       91. | olxqltyg          1       4     1   o1mfjlez olxqltyg        6 |
       92. | o1mfjlez          1       4     1   o1mfjlez olxqltyg        6 |
       93. | o1mfjlez          1       5     1   o1mfjlez olxqltyg        6 |
       94. | olxqltyg          1       5     1   o1mfjlez olxqltyg        6 |
       95. | o1mfjlez          1       6     1   o1mfjlez olxqltyg        6 |
       96. | olxqltyg          1       6     1   o1mfjlez olxqltyg        6 |
       97. | o1mfjlez          1       7     1   o1mfjlez olxqltyg        6 |
       98. | olxqltyg          1       7     1   o1mfjlez olxqltyg        6 |
       99. | olxqltyg          1       8     1   o1mfjlez olxqltyg        6 |
      100. | o1mfjlez          1       8     1   o1mfjlez olxqltyg        6 |
           +----------------------------------------------------------------+

      Comment

      Working...
      X