Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: st: variable name with special character
From
Nick Cox <[email protected]>
To
"[email protected]" <[email protected]>
Subject
Re: st: variable name with special character
Date
Mon, 10 Feb 2014 21:14:56 +0000
I am happy if anyone likes -renvars-. All the royalties go to Royalty,
or in this case StataCorp.
Nick
[email protected]
On 10 February 2014 21:08, Jeph Herrin <[email protected]> wrote:
> It does the job, so I never thought to look elsewhere. But now I will.
On 2/10/2014 3:58 PM, Nick Cox wrote:
>> -renvars- is from SJ. Interesting that there is still life in the old
>> horse, even with the spectacular extension of -rename- in Stata 12.
On 10 February 2014 20:52, Jeph Herrin <[email protected]> wrote:
>>> Thanks, that did the trick. It was char(160), of course, so
>>>
>>> . renvars _all, substr("`=char(160)'" "")
>>>
>>> did the trick. Interestingly, Stata even allowed things like:
>>>
>>> . d q_71a*
>>>
>>>
>>> storage display value
>>> variable name type format label variable label
>>> --------------------------------------------------------------
>>> q_71a byte %10.0g
>>> q_71a str63 %63s
On 2/10/2014 3:39 PM, Nick Cox wrote:
>>>> If you can get Stata to tell you what the character(s) is/are, you are
>>>> home and dry.
>>>>
>>>> So, something like
>>>>
>>>> foreach v of var * {
>>>> mata : st_local("chars", invtokens(strofreal(ascii("`v'"))))
>>>> di "`v'" "{col 20}" "`chars'"
>>>> }
>>>>
>>>> This is how it works for auto.dta
>>>>
>>>> make 109 97 107 101
>>>> price 112 114 105 99 101
>>>> mpg 109 112 103
>>>> rep78 114 101 112 55 56
>>>> headroom 104 101 97 100 114 111 111 109
>>>> trunk 116 114 117 110 107
>>>> weight 119 101 105 103 104 116
>>>> length 108 101 110 103 116 104
>>>> turn 116 117 114 110
>>>> displacement 100 105 115 112 108 97 99 101 109 101 110 116
>>>> gear_ratio 103 101 97 114 95 114 97 116 105 111
>>>> foreign 102 111 114 101 105 103 110
>>>>
>>>> In your case, feeding A3* rather than * should be sufficient, and
>>>> you'll want to look for high values at the end of each string.
On 10 February 2014 20:22, Jeph Herrin <[email protected]> wrote:
>>>>> I used Stat/Transfer v12 to create a Stata dataset from an Excel file.
>>>>> When
>>>>> I open the file in Stata, I find that many of the variable names have
>>>>> special characters (apparently), because Stata can't see them. Example:
>>>>>
>>>>>
>>>>> . d A3*
>>>>>
>>>>> storage display value
>>>>> variable name type format label variable label
>>>>> ------------------------------------------------------------
>>>>> A3 str2 %2s
>>>>> A3a str2 %2s
>>>>> A3b str2 %2s
>>>>> A3c_1 str2 %2s
>>>>> A3c_2 str2 %2s
>>>>> A3c_3 str2 %2s
>>>>> A3c_4 str2 %2s
>>>>> A3c_5 str2 %2s
>>>>> A3c_6 str2 %2s
>>>>> A3c_7 str2 %2s
>>>>>
>>>>>
>>>>> . d A3
>>>>> A3 ambiguous abbreviation
>>>>> r(111);
>>>>>
>>>>> So there seems to be a non-printing character trailing -A3-; I have
>>>>> dozens
>>>>> of these in the dataset. In the original excel file, all seems to be in
>>>>> order. There are trailing blanks in the top row; however,
>>>>>
>>>>> . renvars _all, postsub(" " "")
>>>>> no renames necessary
>>>>>
>>>>> Any thoughts on how I can identify and repair the problem with these
>>>>> variable names?
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/faqs/resources/statalist-faq/
* http://www.ats.ucla.edu/stat/stata/