Announcement

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

  • Rename variable with its own numerical label

    Hello,


    I am trying to rename my variables C to AY with their own label (2019 to 1971).
    However, when I use the following code with the data below:
    foreach v of var * {
    local lbl : var label `v'
    local lbl = strtoname("`lbl'")
    capture rename `v' `lbl'
    }



    Code:
    * Example generated by -dataex-. For more info, type help dataex
    clear
    input str38 A str7(C D E F)
    "Alabama" "540544" "489338" "398795" "401759"
    "Alabama" "6589"   "8931"   "6679"   "11572" 
    "Alabama" "-"      "277"    "-"      "-"     
    "Alabama" "3039"   "1839"   "3009"   "1660"  
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "52110"  "40373"  "38089"  "39614" 
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "62"    
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "-"      "579"    "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" ""       "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "435"    "-"      "-"      "694"   
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "281"   
    "Alabama" "-"      "10"     "116"    "-"     
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "369"    "-"      "777"    "200"   
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "200"   
    "Alabama" "1315"   "608"    "449"    "789"   
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "206"    "722"    "307"    "307"   
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "230"   
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "-"      "47"     "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "2914"   "3496"   "10"     "420"   
    "Alabama" "9976"   "18038"  "10113"  "14313" 
    "Alabama" "364763" "331895" "262603" "262891"
    "Alabama" "44785"  "42700"  "43105"  "37816" 
    "Alabama" "1136"   "2610"   "1467"   "1226"  
    "Alabama" "27596"  "19995"  "18344"  "13466" 
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "2171"   "621"    "568"    "574"   
    "Alabama" "22313"  "15940"  "12600"  "14285" 
    "Alabama" "826"    "655"    "560"    "1158"  
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"     
    "Alaska"  "115684" "89975"  "91348"  "79941" 
    "Alaska"  "78"     "233"    "311"    "10"    
    "Alaska"  "223"    "254"    "667"    "1298"  
    "Alaska"  "-"      "-"      "-"      "-"     
    "Alaska"  "1256"   "195"    "51"     "539"   
    "Alaska"  "-"      "-"      "-"      "-"     
    "Alaska"  "7204"   "7427"   "4024"   "3831"  
    "Alaska"  "102952" "77375"  "81960"  "69773" 
    "Alaska"  "-"      "-"      "-"      "-"     
    "Alaska"  "-"      "-"      "-"      "-"     
    "Alaska"  "3970"   "4491"   "4334"   "4490"  
    "Arizona" "482711" "435199" "403357" "394092"
    "Arizona" "-"      "-"      "-"      "88"    
    "Arizona" "173112" "162075" "149718" "153087"
    "Arizona" "-"      "-"      "-"      "-"     
    "Arizona" "-"      "-"      "-"      "-"     
    "Arizona" "100"    "225"    "-"      "-"     
    "Arizona" "-"      "-"      "-"      "-"     
    "Arizona" "-"      "-"      "-"      "-"     
    "Arizona" "-"      "-"      "-"      "-"     
    "Arizona" "915"    "727"    "3218"   "2738"  
    "Arizona" "-"      "-"      "-"      "-"     
    "Arizona" "-"      "-"      "-"      "-"     
    "Arizona" "162"    "1720"   "795"    "1613"  
    "Arizona" "-"      "-"      "-"      "-"     
    "Arizona" "-"      "-"      "-"      "-"     
    "Arizona" "-"      "-"      "-"      "-"     
    "Arizona" "-"      "-"      "-"      "-"     
    "Arizona" "-"      "-"      "-"      "-"     
    "Arizona" "-"      "-"      "-"      "-"     
    "Arizona" "-"      "-"      "-"      "-"     
    "Arizona" "548"    "-"      "-"      "-"     
    "Arizona" "-"      "-"      "-"      "-"     
    "Arizona" "-"      "-"      "-"      "-"     
    "Arizona" "28920"  "31421"  "25216"  "23920" 
    "Arizona" "-"      "-"      "-"      "-"     
    "Arizona" "298"    "-"      "-"      "-"     
    "Arizona" "-"      "-"      "-"      "-"     
    end
    it changes into:
    Code:
    * Example generated by -dataex-. For more info, type help dataex
    clear
    input str38 A str7(_2019 _2018 _2017 _2016 _2015)
    "Alabama" "540544" "489338" "398795" "401759" "422018"
    "Alabama" "6589"   "8931"   "6679"   "11572"  "13987" 
    "Alabama" "-"      "277"    "-"      "-"      "-"     
    "Alabama" "3039"   "1839"   "3009"   "1660"   "1996"  
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alabama" "52110"  "40373"  "38089"  "39614"  "33746" 
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "62"     "65"    
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"      "125"   
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alabama" "-"      "579"    "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alabama" ""       "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alabama" "435"    "-"      "-"      "694"    "-"     
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "281"    "-"     
    "Alabama" "-"      "10"     "116"    "-"      "12914" 
    "Alabama" "-"      "-"      "-"      "-"      "199"   
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alabama" "369"    "-"      "777"    "200"    "-"     
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "200"    "-"     
    "Alabama" "1315"   "608"    "449"    "789"    "174"   
    "Alabama" "-"      "-"      "-"      "-"      "7"     
    "Alabama" "-"      "-"      "-"      "-"      "369"   
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alabama" "206"    "722"    "307"    "307"    "307"   
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "230"    "100"   
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alabama" "-"      "47"     "-"      "-"      "82"    
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alabama" "2914"   "3496"   "10"     "420"    "438"   
    "Alabama" "9976"   "18038"  "10113"  "14313"  "12592" 
    "Alabama" "364763" "331895" "262603" "262891" "277226"
    "Alabama" "44785"  "42700"  "43105"  "37816"  "37267" 
    "Alabama" "1136"   "2610"   "1467"   "1226"   "2284"  
    "Alabama" "27596"  "19995"  "18344"  "13466"  "12320" 
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alabama" "2171"   "621"    "568"    "574"    "763"   
    "Alabama" "22313"  "15940"  "12600"  "14285"  "14906" 
    "Alabama" "826"    "655"    "560"    "1158"   "150"   
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alabama" "-"      "-"      "-"      "-"      "-"     
    "Alaska"  "115684" "89975"  "91348"  "79941"  "77383" 
    "Alaska"  "78"     "233"    "311"    "10"     "-"     
    "Alaska"  "223"    "254"    "667"    "1298"   "776"   
    "Alaska"  "-"      "-"      "-"      "-"      "-"     
    "Alaska"  "1256"   "195"    "51"     "539"    "117"   
    "Alaska"  "-"      "-"      "-"      "-"      "-"     
    "Alaska"  "7204"   "7427"   "4024"   "3831"   "2477"  
    "Alaska"  "102952" "77375"  "81960"  "69773"  "69426" 
    "Alaska"  "-"      "-"      "-"      "-"      "-"     
    "Alaska"  "-"      "-"      "-"      "-"      "-"     
    "Alaska"  "3970"   "4491"   "4334"   "4490"   "4587"  
    "Arizona" "482711" "435199" "403357" "394092" "370620"
    "Arizona" "-"      "-"      "-"      "88"     "-"     
    "Arizona" "173112" "162075" "149718" "153087" "150945"
    "Arizona" "-"      "-"      "-"      "-"      "250"   
    "Arizona" "-"      "-"      "-"      "-"      "-"     
    "Arizona" "100"    "225"    "-"      "-"      "275"   
    "Arizona" "-"      "-"      "-"      "-"      "-"     
    "Arizona" "-"      "-"      "-"      "-"      "160"   
    "Arizona" "-"      "-"      "-"      "-"      "-"     
    "Arizona" "915"    "727"    "3218"   "2738"   "5074"  
    "Arizona" "-"      "-"      "-"      "-"      "-"     
    "Arizona" "-"      "-"      "-"      "-"      "-"     
    "Arizona" "162"    "1720"   "795"    "1613"   "1931"  
    "Arizona" "-"      "-"      "-"      "-"      "-"     
    "Arizona" "-"      "-"      "-"      "-"      "-"     
    "Arizona" "-"      "-"      "-"      "-"      "-"     
    "Arizona" "-"      "-"      "-"      "-"      "-"     
    "Arizona" "-"      "-"      "-"      "-"      "-"     
    "Arizona" "-"      "-"      "-"      "-"      "-"     
    "Arizona" "-"      "-"      "-"      "-"      "-"     
    "Arizona" "548"    "-"      "-"      "-"      "-"     
    "Arizona" "-"      "-"      "-"      "-"      "-"     
    "Arizona" "-"      "-"      "-"      "-"      "-"     
    "Arizona" "28920"  "31421"  "25216"  "23920"  "19119" 
    "Arizona" "-"      "-"      "-"      "-"      "-"     
    "Arizona" "298"    "-"      "-"      "-"      "275"   
    "Arizona" "-"      "-"      "-"      "-"      "40"    
    end
    I tried to use the code such as:
    rename (_#) (#)

    Stata tells me this error:
    49 new variable names invalid
    You attempted to rename _2019 to 2019, _2018 to 2018, ... Those are invalid Stata
    variable names.



    Someone could help me with this issue ?


  • #2
    the first character of a variable name must be a letter or an underscore

    Comment


    • #3
      Then how can I change them with their label ? is there any other method using loops ?

      Comment


      • #4
        I am not sure what your question is. Variable names like 2019 are illegal in Stata, as #2 pointed out. You have to start a variable name with a letter or an underscore, you cannot start it with a number. You will need to think about how you would like your variables named, within this constraint.

        Comment


        • #5
          Ah okay, I got it. Thanks !

          Comment


          • #6
            Not the answer you hope for: this problem does not really bite, as the data need to be reshaped and pushed through destring before you can do anything interesting or useful in Stata. Then 1971 on will just be values of a single variable.

            Comment


            • #7
              Thank you, Nick ! I got the point

              Comment


              • #8
                It is to be hoped that the original data source included a variable (column) with information on each observation (record or row). If you need help with conversion, we'd need to see an example of the original.

                Comment

                Working...
                X