Announcement

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

  • Multiple response variables

    I created a survey in which the respondents were asked who, in their opinion, is responsible for the situation on the polish-belarusian border. Multiple responses were possible. I would like to summarize everything in one table.
    The new variable should be named "responsible" with the categories: 1 "Belarus" 2 "Polen" 3 "Deutschland" 4 "EU" 5 "Nobody" 6 "No Answer"

    My dataset looks like this:


    Code:
    * Example generated by -dataex-. To install: ssc install dataex
    clear
    input float(responsible_belarus responsible_polen responsible_deutschland responsible_EU responsible_nobody responsible_noanswer)
    0 0 0 0 1 0
    1 0 0 0 0 0
    0 0 0 1 0 0
    1 0 0 0 0 0
    1 0 0 1 0 0
    0 0 0 0 0 0
    1 0 0 1 0 0
    0 0 0 1 0 0
    0 0 0 1 0 0
    1 1 1 1 0 0
    1 0 0 1 0 0
    1 0 0 0 0 0
    1 1 0 0 0 0
    1 0 0 0 0 0
    1 0 0 1 0 0
    1 1 1 1 0 0
    1 0 0 0 0 0
    0 0 0 0 0 1
    0 0 0 1 0 0
    1 1 1 1 0 0
    1 0 0 0 0 0
    0 0 0 1 0 0
    0 0 0 0 0 1
    1 0 0 1 0 0
    1 1 1 1 0 0
    1 0 0 0 0 0
    1 1 1 1 0 0
    1 0 0 1 0 0
    0 0 0 0 0 1
    1 1 1 1 0 0
    1 1 1 1 0 0
    0 0 0 0 1 0
    1 0 0 0 0 0
    1 0 0 1 0 0
    1 1 1 1 0 0
    0 0 0 0 0 1
    0 0 0 0 1 0
    0 0 0 0 1 0
    1 0 0 0 0 0
    1 1 0 1 0 0
    1 1 1 1 0 0
    1 0 0 1 0 0
    1 0 0 0 1 0
    1 0 0 0 0 0
    1 1 1 1 0 0
    0 0 0 1 0 0
    1 1 1 1 0 0
    1 0 0 0 0 0
    0 0 0 0 0 1
    0 0 0 1 0 0
    0 0 0 1 0 0
    0 0 0 0 1 0
    1 0 0 1 0 0
    1 0 0 0 0 0
    0 0 0 0 0 1
    0 0 0 0 1 0
    1 1 0 1 0 0
    0 0 0 1 0 0
    1 0 0 1 0 0
    0 0 1 1 0 0
    0 0 0 1 0 0
    0 0 0 1 0 0
    1 0 0 1 0 0
    1 1 1 1 0 0
    1 1 0 1 0 0
    1 1 0 1 0 0
    1 0 0 1 0 0
    1 0 0 0 0 0
    1 0 0 0 0 0
    1 1 0 1 0 0
    1 1 0 0 0 0
    1 0 0 0 0 0
    0 0 0 0 1 0
    1 0 0 0 0 0
    1 1 0 1 0 0
    0 0 0 1 0 0
    1 0 0 1 0 0
    1 0 0 0 0 0
    1 0 0 0 0 0
    0 0 0 1 0 0
    1 0 0 0 0 0
    0 0 0 1 0 0
    0 0 0 0 0 0
    0 0 0 1 1 0
    1 0 0 0 0 0
    1 0 0 1 0 0
    0 0 0 0 1 0
    1 0 0 1 0 0
    1 0 0 1 0 0
    0 0 0 1 0 0
    1 1 1 1 0 0
    1 1 1 1 0 0
    1 1 1 1 0 0
    1 1 1 1 0 0
    1 0 0 0 0 0
    1 1 0 1 0 0
    1 1 0 1 0 0
    1 1 1 1 0 0
    1 1 1 1 0 0
    0 0 0 0 0 1
    end
    How do I create this new variable with 6 categories?

    Thanks in adavance!
    Last edited by larissa koegl; 27 Jan 2022, 06:32.

  • #2
    Larissa:
    welcome to this forum.
    What you're after is unfeasible, since, as you stated, the answer has multiple, non-mutually exclusive, options.
    That said, you may want to try:
    Code:
    egen wanted=group( responsible_*)
    list responsible_* if wanted==1
    list responsible_* if wanted==2
    label define wanted 1 "Skipped questionnaire" 2 "No_answer", add
    list responsible_* if wanted==3
    list responsible_* if wanted==4
    label define wanted 3 "Nobody" 4 "EU", add
    label define wanted 5 "EU_Nobody" 6 "D_EU", add
    label define wanted 7 "Belarus" 8 "Belarus_Nobody", add
    list responsible_* if wanted==9
    list responsible_* if wanted==10
    label define wanted 9 "Belarus_EU" 10 "Belarus_Poland", add
    list responsible_* if wanted==11
    list responsible_* if wanted==12
    label define wanted 11 "Belarus_Poland_EU" 12 "Belarus_Poland_D_EU", add
    label val wanted wanted
    list
    . list
    
         +-----------------------------------------------------------------------------------------+
         | respon~s   respon~n   respon~d   respon~U   respon~y   respon~r                  wanted |
         |-----------------------------------------------------------------------------------------|
      1. |        0          0          0          0          1          0                  Nobody |
      2. |        1          0          0          0          0          0                 Belarus |
      3. |        0          0          0          1          0          0                      EU |
      4. |        1          0          0          0          0          0                 Belarus |
      5. |        1          0          0          1          0          0              Belarus_EU |
         |-----------------------------------------------------------------------------------------|
      6. |        0          0          0          0          0          0   Skipped questionnaire |
      7. |        1          0          0          1          0          0              Belarus_EU |
      8. |        0          0          0          1          0          0                      EU |
      9. |        0          0          0          1          0          0                      EU |
     10. |        1          1          1          1          0          0     Belarus_Poland_D_EU |
         |-----------------------------------------------------------------------------------------|
     11. |        1          0          0          1          0          0              Belarus_EU |
     12. |        1          0          0          0          0          0                 Belarus |
     13. |        1          1          0          0          0          0          Belarus_Poland |
     14. |        1          0          0          0          0          0                 Belarus |
     15. |        1          0          0          1          0          0              Belarus_EU |
         |-----------------------------------------------------------------------------------------|
     16. |        1          1          1          1          0          0     Belarus_Poland_D_EU |
     17. |        1          0          0          0          0          0                 Belarus |
     18. |        0          0          0          0          0          1               No_answer |
     19. |        0          0          0          1          0          0                      EU |
     20. |        1          1          1          1          0          0     Belarus_Poland_D_EU |
         |-----------------------------------------------------------------------------------------|
     21. |        1          0          0          0          0          0                 Belarus |
     22. |        0          0          0          1          0          0                      EU |
     23. |        0          0          0          0          0          1               No_answer |
     24. |        1          0          0          1          0          0              Belarus_EU |
     25. |        1          1          1          1          0          0     Belarus_Poland_D_EU |
         |-----------------------------------------------------------------------------------------|
     26. |        1          0          0          0          0          0                 Belarus |
     27. |        1          1          1          1          0          0     Belarus_Poland_D_EU |
     28. |        1          0          0          1          0          0              Belarus_EU |
     29. |        0          0          0          0          0          1               No_answer |
     30. |        1          1          1          1          0          0     Belarus_Poland_D_EU |
         |-----------------------------------------------------------------------------------------|
     31. |        1          1          1          1          0          0     Belarus_Poland_D_EU |
     32. |        0          0          0          0          1          0                  Nobody |
     33. |        1          0          0          0          0          0                 Belarus |
     34. |        1          0          0          1          0          0              Belarus_EU |
     35. |        1          1          1          1          0          0     Belarus_Poland_D_EU |
         |-----------------------------------------------------------------------------------------|
     36. |        0          0          0          0          0          1               No_answer |
     37. |        0          0          0          0          1          0                  Nobody |
     38. |        0          0          0          0          1          0                  Nobody |
     39. |        1          0          0          0          0          0                 Belarus |
     40. |        1          1          0          1          0          0       Belarus_Poland_EU |
         |-----------------------------------------------------------------------------------------|
     41. |        1          1          1          1          0          0     Belarus_Poland_D_EU |
     42. |        1          0          0          1          0          0              Belarus_EU |
     43. |        1          0          0          0          1          0          Belarus_Nobody |
     44. |        1          0          0          0          0          0                 Belarus |
     45. |        1          1          1          1          0          0     Belarus_Poland_D_EU |
         |-----------------------------------------------------------------------------------------|
     46. |        0          0          0          1          0          0                      EU |
     47. |        1          1          1          1          0          0     Belarus_Poland_D_EU |
     48. |        1          0          0          0          0          0                 Belarus |
     49. |        0          0          0          0          0          1               No_answer |
     50. |        0          0          0          1          0          0                      EU |
         |-----------------------------------------------------------------------------------------|
     51. |        0          0          0          1          0          0                      EU |
     52. |        0          0          0          0          1          0                  Nobody |
     53. |        1          0          0          1          0          0              Belarus_EU |
     54. |        1          0          0          0          0          0                 Belarus |
     55. |        0          0          0          0          0          1               No_answer |
         |-----------------------------------------------------------------------------------------|
     56. |        0          0          0          0          1          0                  Nobody |
     57. |        1          1          0          1          0          0       Belarus_Poland_EU |
     58. |        0          0          0          1          0          0                      EU |
     59. |        1          0          0          1          0          0              Belarus_EU |
     60. |        0          0          1          1          0          0                    D_EU |
         |-----------------------------------------------------------------------------------------|
     61. |        0          0          0          1          0          0                      EU |
     62. |        0          0          0          1          0          0                      EU |
     63. |        1          0          0          1          0          0              Belarus_EU |
     64. |        1          1          1          1          0          0     Belarus_Poland_D_EU |
     65. |        1          1          0          1          0          0       Belarus_Poland_EU |
         |-----------------------------------------------------------------------------------------|
     66. |        1          1          0          1          0          0       Belarus_Poland_EU |
     67. |        1          0          0          1          0          0              Belarus_EU |
     68. |        1          0          0          0          0          0                 Belarus |
     69. |        1          0          0          0          0          0                 Belarus |
     70. |        1          1          0          1          0          0       Belarus_Poland_EU |
         |-----------------------------------------------------------------------------------------|
     71. |        1          1          0          0          0          0          Belarus_Poland |
     72. |        1          0          0          0          0          0                 Belarus |
     73. |        0          0          0          0          1          0                  Nobody |
     74. |        1          0          0          0          0          0                 Belarus |
     75. |        1          1          0          1          0          0       Belarus_Poland_EU |
         |-----------------------------------------------------------------------------------------|
     76. |        0          0          0          1          0          0                      EU |
     77. |        1          0          0          1          0          0              Belarus_EU |
     78. |        1          0          0          0          0          0                 Belarus |
     79. |        1          0          0          0          0          0                 Belarus |
     80. |        0          0          0          1          0          0                      EU |
         |-----------------------------------------------------------------------------------------|
     81. |        1          0          0          0          0          0                 Belarus |
     82. |        0          0          0          1          0          0                      EU |
     83. |        0          0          0          0          0          0   Skipped questionnaire |
     84. |        0          0          0          1          1          0               EU_Nobody |
     85. |        1          0          0          0          0          0                 Belarus |
         |-----------------------------------------------------------------------------------------|
     86. |        1          0          0          1          0          0              Belarus_EU |
     87. |        0          0          0          0          1          0                  Nobody |
     88. |        1          0          0          1          0          0              Belarus_EU |
     89. |        1          0          0          1          0          0              Belarus_EU |
     90. |        0          0          0          1          0          0                      EU |
         |-----------------------------------------------------------------------------------------|
     91. |        1          1          1          1          0          0     Belarus_Poland_D_EU |
     92. |        1          1          1          1          0          0     Belarus_Poland_D_EU |
     93. |        1          1          1          1          0          0     Belarus_Poland_D_EU |
     94. |        1          1          1          1          0          0     Belarus_Poland_D_EU |
     95. |        1          0          0          0          0          0                 Belarus |
         |-----------------------------------------------------------------------------------------|
     96. |        1          1          0          1          0          0       Belarus_Poland_EU |
     97. |        1          1          0          1          0          0       Belarus_Poland_EU |
     98. |        1          1          1          1          0          0     Belarus_Poland_D_EU |
     99. |        1          1          1          1          0          0     Belarus_Poland_D_EU |
    100. |        0          0          0          0          0          1               No_answer |
         +-----------------------------------------------------------------------------------------+
    
    .
    Kind regards,
    Carlo
    (StataNow 18.5)

    Comment


    • #3
      This may help. I used tabm from tab_chi on SSC and groups from the Stata Journal.


      Code:
      foreach v of var responsible_* { 
          local label`v' : subinstr local v "responsible_" "", all
          if inlist("`label`v''", "belarus", "polen", "deutschland") local label`v' = proper("`label`v''")
          label var `v' "`label`v''"
      }
      
      tabm responsible* 
      
      gen to_blame = "" 
      
      foreach  v of var responsible_* { 
          replace to_blame = to_blame + " " + "`label`v''" if `v' == 1 
      }
      
      
      char to_blame[varname] "Who to blame"
      
      groups to_blame, order(high) sep(0)

      Results:

      Code:
      . tabm responsible* 
      
                  |        values
         variable |         0          1 |     Total
      ------------+----------------------+----------
          Belarus |        34         66 |       100 
            Polen |        72         28 |       100 
      Deutschland |        81         19 |       100 
               EU |        41         59 |       100 
           nobody |        90         10 |       100 
         noanswer |        93          7 |       100 
      ------------+----------------------+----------
            Total |       411        189 |       600 
      
      . 
      . groups to_blame, order(high) sep(0)
      
        +----------------------------------------------------------+
        |                  Who to blame   Freq.   Percent      %<= |
        |----------------------------------------------------------|
        |                       Belarus      21     21.43    21.43 |
        |  Belarus Polen Deutschland EU      18     18.37    39.80 |
        |                    Belarus EU      16     16.33    56.12 |
        |                            EU      15     15.31    71.43 |
        |              Belarus Polen EU       8      8.16    79.59 |
        |                        nobody       8      8.16    87.76 |
        |                      noanswer       7      7.14    94.90 |
        |                 Belarus Polen       2      2.04    96.94 |
        |                Belarus nobody       1      1.02    97.96 |
        |                Deutschland EU       1      1.02    98.98 |
        |                     EU nobody       1      1.02   100.00 |
        +----------------------------------------------------------+

      Comment


      • #4
        Thank you for your quick responses! Nick Cox: I installed the command tabm via command "SSC install tab_chi" - but somehow it wont work. I always get the error code "(memory cleared) unrecognized command" (r 199). What did I do wrong?

        Comment


        • #5
          I don’t know. What did you type exactly?

          if you type

          Code:
          which tabm
          what do you see?
          Last edited by Nick Cox; 27 Jan 2022, 09:22.

          Comment


          • #6
            Code:
             which tabm
            c:\ado\plus\t\tabm.ado
            *! 2.3.0 NJC 6 May 2021

            Thats what I get

            Comment


            • #7
              So, you installed it correctly. I don't understand the error message therefore. Is the full dataset very big?

              Comment


              • #8
                It contains 207 respondants x 6 response opportunities....


                But when I just do
                Code:
                tab responsible_*
                I get the error code "too many variables specified r(103)" - so maybe it is too big.
                Last edited by larissa koegl; 27 Jan 2022, 11:05.

                Comment


                • #9
                  That shouldn't be any kind of problem at all.

                  Code:
                  log using problem_tabm.log 
                  set trace on 
                  set tracedepth 2 
                  tabm responsible* 
                  log close
                  and please show us the code trace just before the code fails.

                  Comment

                  Working...
                  X