From | "R.E. De Hoyos" <[email protected]> |
To | <[email protected]> |
Subject | Re: st: labels as values of a string variable |
Date | Sun, 5 Jun 2005 12:59:37 +0300 |
I haven't been following this thread, so I don't know why you are trying to do this; I suspect htere is a better way.
That said, what's going on here is this. The line:
local label`i' = "string[_n]"
is assigning the literal string 'string[_n]' to the local macro label1
But, when you say
di `label1'
Stata interpets that as
di string[_n]
and then it displays the contents of string[_n] -- that is, it displays the first observation of the variable string.
You will see this if you instead type
di "`label1'"
which will display the text
string[_n]
What you need in your original line is this:
local label`i' = "`=string[_n]'"
In other words, you wrap it in the double quotation marks, to deal with the spaces. But inside the quotes, you surround it with `= and ' , which tell stata to evaluate the expression. This gives you the contents of string[_n], rather than the literal string "string[_n]"
All of that said, unless I missed something, the _n in this expression is the equivalent of a 1 -- that is, you are just grabbing the first observation of each.
Would -encode- do what you want? Or at least your first approach would work as:
levels string, local(labels)
tokenize `"`labels'"'
What is your ultimate goal?
--Nick Winter
At 09:41 AM 6/2/2005, you wrote:
James,
Thanks for your suggestion. Unfortunately it didn't work. The value that I am trying to assign is a string containing space, e.g. "Gross foreign direct investment (% of GDP)". Therefore I have to include the quotation marks (""). In fact the coding I send in my previous email was assigning the string values to the local macros, the problem was when I tried to label the variables using those local macros.
Best,
Rafa
----- Original Message ----- From: "James Cui" <[email protected]>
To: <[email protected]>
Sent: Thursday, June 02, 2005 3:25 PM
Subject: Re: st: labels as values of a string variable
If you change local label`i' = "string[_n]" to local label`i' = string[_n] it should work. The latter assigns the value of string[_n] to label`i'. James. ----- Original Message ----- From: "R.E. De Hoyos" <[email protected]> Date: Thursday, June 2, 2005 6:54 pm Subject: st: labels as values of a string variableI want to attach labels to a group of variables (varlist). The labels that I want to use for each variable are available as observations in one of the variables (string). I tried the following: levels string, local(labels) tokenize `lables' * An error occurred because the string values contained spaces. Therefore I tried: egen id = group(string) //20 groups local i=1 while `i'<21 { preserve keep if id==`i' local label`i' = "string[_n]" local i = `i'+1 restore } When I used -di `label1'- the label names where correctly displayed. However when I tried to attached them to the variables using -label var- : label var var1 "`label1'" The label attached was "string[_n]" and not the value of it. Many thanks, Rafa ________________________ R.E. De Hoyos Faculty of Economics University of Cambridge CB3 9DE, UK www.econ.cam.ac.uk/phd/red29 * * For searches and help try: * http://www.stata.com/support/faqs/res/findit.html * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/* * For searches and help try: * http://www.stata.com/support/faqs/res/findit.html * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/* * For searches and help try: * http://www.stata.com/support/faqs/res/findit.html * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/-------------------------------------------------------- Nicholas Winter 607.255.8819 t Assistant Professor 607.255.4530 f Department of Government [email protected] e 308 White Hall falcon.arts.cornell.edu/nw53 w Cornell University Ithaca, NY 14853-4601 * * For searches and help try: * http://www.stata.com/support/faqs/res/findit.html * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/
* * For searches and help try: * http://www.stata.com/support/faqs/res/findit.html * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/
© Copyright 1996–2024 StataCorp LLC | Terms of use | Privacy | Contact us | What's new | Site index |