Announcement

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

  • Separating multiple choice answers written into same cell and then making a variable out of each multiple choice answer

    Hello,

    I hope this message finds you well.

    I received a dataset with several multiple choice questions for which the selected answers by respondents are written into the same cell and separated by a comma (sometimes a comma is used in between parentheses within an answer choice to show examples). I am trying to separate the multiple answers into variables. Variable1 should show me all the respondents that selected answer choice1, variable2 should show me all the respondents that selected answer choice2...

    All variables are string so I tried splitting using parse(,). Which works to split but it takes the first answer from each respondent and puts it in the first variable, then the 2nd answer in the 2nd variable. Hence, not exactly what I am looking for. In my data example below I show the results of using split and parse in am1 am2 am3 am4 am5 am6, and in lundi_am and mardi_am I show what I would like to be able to get with some code (I wrote it by hand for this example). In lundi_am, all the respondents that selected lundi in jour_am received a numeric value of 1, they received a 0 if they selected a different answer from lundi, and a missing value if they selected nothing. In mardi_am, all the respondents that selected mardi in jour_am received a numeric value of 1, they received a 0 if they selected a different answer from mardi, and a missing value if they selected nothing.

    Code:
    split jour_am, parse(,) generate(am)
    Below is an example of data.


    Code:
    * Example generated by -dataex-. For more info, type help dataex
    clear
    input float id str8 am1 str9(am2 am3 am4 am5) str7 am6 byte(lundi_am mardi_am)
     1 ""         ""       ""          ""          ""          "" . .
     2 "Lundi"    " Mardi" " Mercredi" " Vendredi" ""          "" 1 1
     3 "Mardi"    ""       ""          ""          ""          "" 0 1
     4 ""         ""       ""          ""          ""          "" . .
     5 "Mercredi" ""       ""          ""          ""          "" 0 0
     6 "Lundi"    " Mardi" " Mercredi" " Jeudi"    " Vendredi" "" 1 1
     7 ""         ""       ""          ""          ""          "" . .
     8 ""         ""       ""          ""          ""          "" . .
     9 "Mercredi" ""       ""          ""          ""          "" 0 0
    10 ""         ""       ""          ""          ""          "" . .
    11 "Mardi"    " Jeudi" ""          ""          ""          "" 0 1
    12 "Lundi"    " Mardi" " Mercredi" " Jeudi"    ""          "" 1 1
    13 ""         ""       ""          ""          ""          "" . .
    14 "Mardi"    " Jeudi" " Vendredi" ""          ""          "" 0 1
    15 ""         ""       ""          ""          ""          "" . .
    16 ""         ""       ""          ""          ""          "" . .
    17 ""         ""       ""          ""          ""          "" . .
    18 "Lundi"    ""       ""          ""          ""          "" 1 0
    19 ""         ""       ""          ""          ""          "" . .
    20 ""         ""       ""          ""          ""          "" . .
    21 "Lundi"    " Mardi" " Mercredi" " Jeudi"    ""          "" 1 1
    22 ""         ""       ""          ""          ""          "" . .
    23 "Mardi"    ""       ""          ""          ""          "" 0 1
    24 "Jeudi"    ""       ""          ""          ""          "" 0 0
    end
    Please note that the variable jour_am is not my most complex variable in terms of multiple choice selections, I have three other variables that exceed the number of characters allowed in dataex for a line but in one variable. I am listing one of them below.
    list act

    +--------------------------------------------------------------------------------------------------------------------------------+
    | act |
    |--------------------------------------------------------------------------------------------------------------------------------|
    1. | Activités physiques légères à modérées (ex. : Tai Chi, danse adaptée, flexibilité/stretching postural, etc.), Conférences ou.. |
    2. | Atelier de la mémoire et boxe |
    3. | Activités physiques vigoureuses (ex. : boxe, cardio musculation, cardio plein air, marche nordique, etc.) |
    4. | Activités physiques vigoureuses (ex. : boxe, cardio musculation, cardio plein air, marche nordique, etc.), Conférences ou re.. |
    5. | Conférences ou rencontres d'information |
    |--------------------------------------------------------------------------------------------------------------------------------|
    6. | Activités physiques légères à modérées (ex. : Tai Chi, danse adaptée, flexibilité/stretching postural, etc.), Activités phys.. |
    7. | Activités physiques vigoureuses (ex. : boxe, cardio musculation, cardio plein air, marche nordique, etc.), Conférences ou re.. |
    8. | Activités physiques vigoureuses (ex. : boxe, cardio musculation, cardio plein air, marche nordique, etc.), Conférences ou re.. |
    9. | |
    10. | Activités physiques légères à modérées (ex. : Tai Chi, danse adaptée, flexibilité/stretching postural, etc.), Déjeuners/Acti.. |
    |--------------------------------------------------------------------------------------------------------------------------------|
    11. | Activités physiques légères à modérées (ex. : Tai Chi, danse adaptée, flexibilité/stretching postural, etc.), Activités phys.. |
    12. | Activités physiques légères à modérées (ex. : Tai Chi, danse adaptée, flexibilité/stretching postural, etc.), Activités phys.. |
    13. | Cafés rencontres avec thème, Déjeuners/Activités sociales (activités de Noël, pique-nique fin d'année etc.) |
    14. | Activités physiques légères à modérées (ex. : Tai Chi, danse adaptée, flexibilité/stretching postural, etc.), Activités phys.. |
    15. | Conférences ou rencontres d'information, Groupes de soutien pour personnes atteintes
    I will adapt the code to these other variables as I receive the below error message from dataex with one variable, but in your suggestion for a solution is it possible to differentiate between a comma to separate answers or a comma within an answer to list examples?


    Code:
    * Example generated by -dataex-. For more info, type help dataex
    clear
    input str506 act
    data width (508 chars) exceeds max linesize. Try specifying fewer variables
    r(1000);
    Best wishes and thank you for your thoughts on this matter,
    Patrick





  • #2
    Here is some technique.

    Code:
    * Example generated by -dataex-. For more info, type help dataex
    clear
    input float id str8 am1 str9(am2 am3 am4 am5) str7 am6
     1 ""         ""       ""          ""          ""          ""
     2 "Lundi"    " Mardi" " Mercredi" " Vendredi" ""          ""
     3 "Mardi"    ""       ""          ""          ""          ""
     4 ""         ""       ""          ""          ""          ""
     5 "Mercredi" ""       ""          ""          ""          ""
     6 "Lundi"    " Mardi" " Mercredi" " Jeudi"    " Vendredi" ""
     7 ""         ""       ""          ""          ""          ""
     8 ""         ""       ""          ""          ""          ""
     9 "Mercredi" ""       ""          ""          ""          ""
    10 ""         ""       ""          ""          ""          ""
    11 "Mardi"    " Jeudi" ""          ""          ""          ""
    12 "Lundi"    " Mardi" " Mercredi" " Jeudi"    ""          ""
    13 ""         ""       ""          ""          ""          ""
    14 "Mardi"    " Jeudi" " Vendredi" ""          ""          ""
    15 ""         ""       ""          ""          ""          ""
    16 ""         ""       ""          ""          ""          ""
    17 ""         ""       ""          ""          ""          ""
    18 "Lundi"    ""       ""          ""          ""          ""
    19 ""         ""       ""          ""          ""          ""
    20 ""         ""       ""          ""          ""          ""
    21 "Lundi"    " Mardi" " Mercredi" " Jeudi"    ""          ""
    22 ""         ""       ""          ""          ""          ""
    23 "Mardi"    ""       ""          ""          ""          ""
    24 "Jeudi"    ""       ""          ""          ""          ""
    end
    
    
    reshape long am, i(id) j(JOUR)
    
    replace am = trim(am)
    
    label def jour 0 Dimanche 1 Lundi 2 Mardi 3 Mercredi 4 Jeudi 5 Vendredi 6 Samedi 
    
    encode am, gen(jour) label(jour)
    
    drop JOUR 
    
    bysort id (jour) : replace jour = 7 if _n == 1 & missing(jour)
    replace am = "rien" if jour == 7 
    
    drop if missing(jour)
    
    list 
    
    reshape wide am, i(id) j(jour)
    
    tokenize "Dimanche Lundi Mardi Mercredi Jeudi Vendredi Samedi rien"
    
    forval j = 0/7 { 
        local J = `j' + 1 
        capture { 
            gen AM`j' = am`j' != "" 
            label var AM`j' "``J''" 
        } 
        
    }
    
    d AM? 
    
    list id AM? 
    
         +----------------------------------------+
         | id   AM1   AM2   AM3   AM4   AM5   AM7 |
         |----------------------------------------|
      1. |  1     0     0     0     0     0     1 |
      2. |  2     1     1     1     0     1     0 |
      3. |  3     0     1     0     0     0     0 |
      4. |  4     0     0     0     0     0     1 |
      5. |  5     0     0     1     0     0     0 |
         |----------------------------------------|
      6. |  6     1     1     1     1     1     0 |
      7. |  7     0     0     0     0     0     1 |
      8. |  8     0     0     0     0     0     1 |
      9. |  9     0     0     1     0     0     0 |
     10. | 10     0     0     0     0     0     1 |
         |----------------------------------------|
     11. | 11     0     1     0     1     0     0 |
     12. | 12     1     1     1     1     0     0 |
     13. | 13     0     0     0     0     0     1 |
     14. | 14     0     1     0     1     1     0 |
     15. | 15     0     0     0     0     0     1 |
         |----------------------------------------|
     16. | 16     0     0     0     0     0     1 |
     17. | 17     0     0     0     0     0     1 |
     18. | 18     1     0     0     0     0     0 |
     19. | 19     0     0     0     0     0     1 |
     20. | 20     0     0     0     0     0     1 |
         |----------------------------------------|
     21. | 21     1     1     1     1     0     0 |
     22. | 22     0     0     0     0     0     1 |
     23. | 23     0     1     0     0     0     0 |
     24. | 24     0     0     0     1     0     0 |
         +----------------------------------------+

    Comment


    • #3
      for rien read jamais

      Comment


      • #4
        Hello Nick,

        Thank you very much for your response. I took some time to reproduce your suggestion and adapt it to all my variables. I have some variables that are not time variables but for which the same logic of long and wide transformation can work. I had some challenges in modifying one specific section of your work. It is likely that I made an error but I can't identify it. Maybe you can?

        In the below code, everything works as expected until i reached
        tokenize
        . FYI I wrote everything in a dofile and ran the code at once while selecting
        forval
        content. After the code runs ART is not applied to any variable that is generated APLM is applied to the first variable and the last variable is left with no label. thinking that it might be an error in the code
        forval j = 1/21
        i modified it to
        forval j = 0/21
        and i have the same results. For the sake of facilitating receiving your input i tried to provide a data example, unfortunately this is one of the variables with a lot of characters and
        dataex
        is working for 8 variables from the list. I am guessing you might need all of them to replicate the issue. I did provide the sample that did work.


        Code:
        reshape long actfut_, i(id) j(actfut)
        replace actfut_ = trim(actfut_)
        encode actfut_, gen(actfut) label(actfut)
        fre actfut
        bysort id (actfut) : replace actfut= 22 if _n == 1 & missing(actfut)
        replace actfut_ = "jamais" if actfut== 22
        
        
        drop if missing(actfut_)
        
        reshape wide actfut_, i(id) j(actfut)
        
        tokenize "ART APLM APV AMB Aucune CRT CONFRI DAS FAproaid GPprk GPproaid etirment nutri petanq randvg rencoindprof soutpsyind poche pisci qigong depsuj"
        
        forval j = 1/21 {
            local J = `j' + 1
            capture {
                gen ACTFUT`j' = actfut_`j' != ""
                label var ACTFUT`j' "``J''"
            }
            
        }
        
        d ACTFUT?
        See results of describe below here
        Code:
         describe ACTFUT1 ACTFUT2 ACTFUT3 ACTFUT4 ACTFUT5 ACTFUT6 ACTFUT7 ACTFUT8 ACTFUT9 ACTFUT10 ACTFUT11 ACTFUT12 ACTFUT13 ACTFUT14 ACTFUT1
        > 5 ACTFUT16 ACTFUT17 ACTFUT18 ACTFUT19 ACTFUT20 ACTFUT21
        
        Variable      Storage   Display    Value
            name         type    format    label      Variable label
        ---------------------------------------------------------------------------------------------------------------------------------------
        ACTFUT1         float   %9.0g                 APLM
        ACTFUT2         float   %9.0g                 APV
        ACTFUT3         float   %9.0g                 AMB
        ACTFUT4         float   %9.0g                 Aucune
        ACTFUT5         float   %9.0g                 CRT
        ACTFUT6         float   %9.0g                 CONFRI
        ACTFUT7         float   %9.0g                 DAS
        ACTFUT8         float   %9.0g                 FAproaid
        ACTFUT9         float   %9.0g                 GPprk
        ACTFUT10        float   %9.0g                 GPproaid
        ACTFUT11        float   %9.0g                 etirment
        ACTFUT12        float   %9.0g                 nutri
        ACTFUT13        float   %9.0g                 petanq
        ACTFUT14        float   %9.0g                 randvg
        ACTFUT15        float   %9.0g                 rencoindprof
        ACTFUT16        float   %9.0g                 soutpsyind
        ACTFUT17        float   %9.0g                 poche
        ACTFUT18        float   %9.0g                 pisci
        ACTFUT19        float   %9.0g                 qigong
        ACTFUT20        float   %9.0g                 depsuj
        ACTFUT21        float   %9.0g
        Resutls of modifying forval j = 0/21

        Code:
        . forval j = 0/21 {
          2.     local J = `j' + 1
          3.     capture {
          4.         gen ACTFUT`j' = actfut_`j' != ""
          5.         label var ACTFUT`j' "``J''"
          6.     }
          7.    
        . }
        
        .
        . d ACTFUT?
        
        Variable      Storage   Display    Value
            name         type    format    label      Variable label
        ---------------------------------------------------------------------------------------------------------------------------------------
        ACTFUT1         float   %9.0g                 APLM
        ACTFUT2         float   %9.0g                 APV
        ACTFUT3         float   %9.0g                 AMB
        ACTFUT4         float   %9.0g                 Aucune
        ACTFUT5         float   %9.0g                 CRT
        ACTFUT6         float   %9.0g                 CONFRI
        ACTFUT7         float   %9.0g                 DAS
        ACTFUT8         float   %9.0g                 FAproaid
        ACTFUT9         float   %9.0g                 GPprk
        
        .
        end of do-file
        
        . describe ACTFUT1 ACTFUT2 ACTFUT3 ACTFUT4 ACTFUT5 ACTFUT6 ACTFUT7 ACTFUT8 ACTFUT9 ACTFUT10 ACTFUT11 ACTFUT12 ACTFUT13 ACTFUT14 ACTFUT1
        > 5 ACTFUT16 ACTFUT17 ACTFUT18 ACTFUT19 ACTFUT20 ACTFUT21
        
        Variable      Storage   Display    Value
            name         type    format    label      Variable label
        ---------------------------------------------------------------------------------------------------------------------------------------
        ACTFUT1         float   %9.0g                 APLM
        ACTFUT2         float   %9.0g                 APV
        ACTFUT3         float   %9.0g                 AMB
        ACTFUT4         float   %9.0g                 Aucune
        ACTFUT5         float   %9.0g                 CRT
        ACTFUT6         float   %9.0g                 CONFRI
        ACTFUT7         float   %9.0g                 DAS
        ACTFUT8         float   %9.0g                 FAproaid
        ACTFUT9         float   %9.0g                 GPprk
        ACTFUT10        float   %9.0g                 GPproaid
        ACTFUT11        float   %9.0g                 etirment
        ACTFUT12        float   %9.0g                 nutri
        ACTFUT13        float   %9.0g                 petanq
        ACTFUT14        float   %9.0g                 randvg
        ACTFUT15        float   %9.0g                 rencoindprof
        ACTFUT16        float   %9.0g                 soutpsyind
        ACTFUT17        float   %9.0g                 poche
        ACTFUT18        float   %9.0g                 pisci
        ACTFUT19        float   %9.0g                 qigong
        ACTFUT20        float   %9.0g                 depsuj
        ACTFUT21        float   %9.0g

        Code:
        * Example generated by -dataex-. For more info, type help dataex
        clear
        input float id str145(actfut_1 actfut_2 actfut_3 actfut_4 actfut_5 actfut_6 actfut_7)
         1 ""                           ""                                             "Activités physiques vigoureuses" ""                               ""       ""                              "Conférences ou rencontres d'information"
         2 ""                           ""                                             ""                                 "Atelier de la mémoire et boxe" "Aucune" ""                              ""                                        
         3 ""                           ""                                             "Activités physiques vigoureuses" ""                               ""       ""                              "Conférences ou rencontres d'information"
         4 ""                           ""                                             ""                                 ""                               ""       "Cafés rencontres avec thème" "Conférences ou rencontres d'information"
         5 ""                           ""                                             ""                                 ""                               ""       "Cafés rencontres avec thème" "Conférences ou rencontres d'information"
         6 "Activités d'art thérapie" "Activités physiques légères à modérées" "Activités physiques vigoureuses" ""                               ""       ""                              "Conférences ou rencontres d'information"
         7 ""                           ""                                             ""                                 ""                               ""       "Cafés rencontres avec thème" "Conférences ou rencontres d'information"
         8 ""                           ""                                             "Activités physiques vigoureuses" ""                               ""       "Cafés rencontres avec thème" "Conférences ou rencontres d'information"
         9 ""                           ""                                             ""                                 ""                               ""       ""                              "Conférences ou rencontres d'information"
        10 ""                           "Activités physiques légères à modérées" ""                                 ""                               ""       ""                              ""                                        
        11 "Activités d'art thérapie" ""                                             "Activités physiques vigoureuses" ""                               ""       "Cafés rencontres avec thème" "Conférences ou rencontres d'information"
        12 "Activités d'art thérapie" "Activités physiques légères à modérées" ""                                 ""                               ""       ""                              "Conférences ou rencontres d'information"
        13 ""                           ""                                             ""                                 ""                               ""       "Cafés rencontres avec thème" ""                                        
        14 ""                           "Activités physiques légères à modérées" "Activités physiques vigoureuses" ""                               ""       "Cafés rencontres avec thème" "Conférences ou rencontres d'information"
        15 ""                           ""                                             ""                                 ""                               ""       ""                              "Conférences ou rencontres d'information"
        16 ""                           ""                                             ""                                 ""                               "Aucune" ""                              ""                                        
        17 ""                           "Activités physiques légères à modérées" "Activités physiques vigoureuses" ""                               ""       "Cafés rencontres avec thème" "Conférences ou rencontres d'information"
        18 ""                           ""                                             ""                                 ""                               ""       "Cafés rencontres avec thème" "Conférences ou rencontres d'information"
        19 "Activités d'art thérapie" ""                                             "Activités physiques vigoureuses" ""                               ""       ""                              "Conférences ou rencontres d'information"
        20 ""                           ""                                             "Activités physiques vigoureuses" ""                               ""       ""                              "Conférences ou rencontres d'information"
        21 ""                           "Activités physiques légères à modérées" "Activités physiques vigoureuses" ""                               ""       "Cafés rencontres avec thème" "Conférences ou rencontres d'information"
        22 ""                           ""                                             "Activités physiques vigoureuses" ""                               ""       ""                              "Conférences ou rencontres d'information"
        23 ""                           ""                                             "Activités physiques vigoureuses" ""                               ""       ""                              ""                                        
        24 ""                           "Activités physiques légères à modérées" ""                                 ""                               ""       "Cafés rencontres avec thème" "Conférences ou rencontres d'information"
        25 ""                           ""                                             "Activités physiques vigoureuses" ""                               ""       "Cafés rencontres avec thème" "Conférences ou rencontres d'information"
        26 "Activités d'art thérapie" "Activités physiques légères à modérées" ""                                 ""                               ""       ""                              ""                                        
        27 "Activités d'art thérapie" "Activités physiques légères à modérées" "Activités physiques vigoureuses" ""                               ""       "Cafés rencontres avec thème" "Conférences ou rencontres d'information"
        28 ""                           ""                                             "Activités physiques vigoureuses" ""                               ""       ""                              "Conférences ou rencontres d'information"
        29 ""                           ""                                             ""                                 ""                               ""       ""                              "Conférences ou rencontres d'information"
        30 "Activités d'art thérapie" "Activités physiques légères à modérées" ""                                 ""                               ""       "Cafés rencontres avec thème" "Conférences ou rencontres d'information"
        31 "Activités d'art thérapie" ""                                             ""                                 ""                               ""       ""                              ""                                        
        32 "Activités d'art thérapie" "Activités physiques légères à modérées" "Activités physiques vigoureuses" ""                               ""       "Cafés rencontres avec thème" "Conférences ou rencontres d'information"
        33 "Activités d'art thérapie" ""                                             ""                                 ""                               ""       ""                              ""                                        
        34 ""                           ""                                             "Activités physiques vigoureuses" ""                               ""       ""                              "Conférences ou rencontres d'information"
        35 ""                           ""                                             "Activités physiques vigoureuses" ""                               ""       "Cafés rencontres avec thème" "Conférences ou rencontres d'information"
        36 ""                           ""                                             "Activités physiques vigoureuses" ""                               ""       ""                              "Conférences ou rencontres d'information"
        37 "Activités d'art thérapie" "Activités physiques légères à modérées" "Activités physiques vigoureuses" ""                               ""       "Cafés rencontres avec thème" "Conférences ou rencontres d'information"
        38 ""                           "Activités physiques légères à modérées" ""                                 ""                               ""       ""                              ""                                        
        39 ""                           ""                                             ""                                 ""                               ""       ""                              "Conférences ou rencontres d'information"
        40 ""                           ""                                             ""                                 ""                               ""       "Cafés rencontres avec thème" "Conférences ou rencontres d'information"
        41 ""                           ""                                             ""                                 ""                               ""       ""                              "Conférences ou rencontres d'information"
        42 ""                           ""                                             ""                                 ""                               ""       ""                              "Conférences ou rencontres d'information"
        43 ""                           "Activités physiques légères à modérées" ""                                 ""                               ""       "Cafés rencontres avec thème" "Conférences ou rencontres d'information"
        44 ""                           ""                                             ""                                 ""                               ""       ""                              "Conférences ou rencontres d'information"
        45 "Activités d'art thérapie" "Activités physiques légères à modérées" "Activités physiques vigoureuses" ""                               ""       ""                              "Conférences ou rencontres d'information"
        46 "Activités d'art thérapie" "Activités physiques légères à modérées" ""                                 ""                               ""       "Cafés rencontres avec thème" "Conférences ou rencontres d'information"
        47 ""                           ""                                             ""                                 ""                               ""       ""                              "Conférences ou rencontres d'information"
        48 ""                           ""                                             ""                                 ""                               ""       ""                              "Conférences ou rencontres d'information"
        49 "Activités d'art thérapie" ""                                             "Activités physiques vigoureuses" ""                               ""       "Cafés rencontres avec thème" "Conférences ou rencontres d'information"
        50 ""                           "Activités physiques légères à modérées" ""                                 ""                               ""       ""                              "Conférences ou rencontres d'information"
        51 "Activités d'art thérapie" "Activités physiques légères à modérées" ""                                 ""                               ""       ""                              "Conférences ou rencontres d'information"
        52 "Activités d'art thérapie" "Activités physiques légères à modérées" ""                                 ""                               ""       "Cafés rencontres avec thème" "Conférences ou rencontres d'information"
        53 ""                           "Activités physiques légères à modérées" "Activités physiques vigoureuses" ""                               ""       ""                              "Conférences ou rencontres d'information"
        54 "Activités d'art thérapie" ""                                             "Activités physiques vigoureuses" ""                               ""       ""                              "Conférences ou rencontres d'information"
        55 ""                           "Activités physiques légères à modérées" ""                                 ""                               ""       ""                              ""                                        
        56 ""                           "Activités physiques légères à modérées" "Activités physiques vigoureuses" ""                               ""       ""                              "Conférences ou rencontres d'information"
        57 ""                           ""                                             ""                                 ""                               ""       ""                              ""                                        
        58 ""                           "Activités physiques légères à modérées" ""                                 ""                               ""       "Cafés rencontres avec thème" "Conférences ou rencontres d'information"
        59 ""                           "Activités physiques légères à modérées" "Activités physiques vigoureuses" ""                               ""       "Cafés rencontres avec thème" "Conférences ou rencontres d'information"
        60 ""                           ""                                             ""                                 ""                               ""       ""                              ""                                        
        61 "Activités d'art thérapie" "Activités physiques légères à modérées" ""                                 ""                               ""       "Cafés rencontres avec thème" "Conférences ou rencontres d'information"
        62 ""                           ""                                             ""                                 ""                               ""       ""                              ""                                        
        63 ""                           ""                                             ""                                 ""                               "Aucune" ""                              ""                                        
        64 ""                           ""                                             "Activités physiques vigoureuses" ""                               ""       ""                              ""                                        
        65 ""                           ""                                             "Activités physiques vigoureuses" ""                               ""       "Cafés rencontres avec thème" ""                                        
        66 ""                           "Activités physiques légères à modérées" "Activités physiques vigoureuses" ""                               ""       "Cafés rencontres avec thème" "Conférences ou rencontres d'information"
        67 ""                           ""                                             ""                                 ""                               ""       "Cafés rencontres avec thème" "Conférences ou rencontres d'information"
        68 ""                           ""                                             ""                                 ""                               ""       "Cafés rencontres avec thème" "Conférences ou rencontres d'information"
        69 ""                           ""                                             ""                                 ""                               ""       "Cafés rencontres avec thème" "Conférences ou rencontres d'information"
        70 ""                           "Activités physiques légères à modérées" "Activités physiques vigoureuses" ""                               ""       "Cafés rencontres avec thème" "Conférences ou rencontres d'information"
        71 ""                           ""                                             "Activités physiques vigoureuses" ""                               ""       ""                              "Conférences ou rencontres d'information"
        72 ""                           "Activités physiques légères à modérées" ""                                 ""                               ""       "Cafés rencontres avec thème" "Conférences ou rencontres d'information"
        73 ""                           ""                                             ""                                 ""                               ""       ""                              "Conférences ou rencontres d'information"
        74 ""                           ""                                             ""                                 ""                               ""       "Cafés rencontres avec thème" "Conférences ou rencontres d'information"
        end

        FYI i used the following code to parse out extra commas that were inside parentheses.

        Code:
        gen actfut = ustrregexra(quelleactivgfut,"\(.+?\)","")
        split actfut, parse(,) gen(actfut_)
        thank you for your time and input,
        Patrick

        Comment


        • #5
          I called the new variables I created AM0 to AM7 to match 0 ... 6 (DImanche ...Samedi) and 7 (jamais). But after tokenize I cannot refer to token 0 but I can refer to tokens 1 to 8 so I need to create a mapping whereby AM0 is labelled by token 1, AM1 by token 2, ..., AM7 by token 8. Hence the code

          Code:
          local J = `j' + 1
          and the reference to ``J''.

          You don't need that trickery. So, the code to try is.

          Code:
          tokenize "ART APLM APV AMB Aucune CRT CONFRI DAS FAproaid GPprk GPproaid etirment nutri petanq randvg rencoindprof soutpsyind poche pisci qigong depsuj"
          
          forval j = 1/21 {
              capture {
                  gen ACTFUT`j' = actfut_`j' != ""
                  label var ACTFUT`j' "``j''"
              }
          }
          Last edited by Nick Cox; 11 Jun 2024, 01:41.

          Comment

          Working...
          X