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: For Loop Using Variable Labels
From
Nick Cox <[email protected]>
To
"[email protected]" <[email protected]>
Subject
Re: st: For Loop Using Variable Labels
Date
Tue, 25 Jun 2013 00:04:34 +0100
OK. Then I guess you should look at
help extended_fcn
to see how to look up value labels given values.
Nick
[email protected]
On 24 June 2013 23:53, Erika Kociolek <[email protected]> wrote:
> Yes, I do mean value label. Apologies for confusing terminology.
>
> On Mon, Jun 24, 2013 at 3:49 PM, Nick Cox <[email protected]> wrote:
>> You say
>>
>> "I'd like to use
>> the "levelsof" command on the variable label instead of the variable
>> values, since the label for the lowest category will always be in the
>> dataset, but there may not be a variable value for each response
>> category"
>>
>> When you say _variable label_ do you mean _value label_ ? .
>> Nick
>> [email protected]
>>
>>
>> On 24 June 2013 23:40, Erika Kociolek <[email protected]> wrote:
>>> Let's say I wanted to write to a file the number of responses to a
>>> variety of survey questions with different categories. I'll use the
>>> voter dataset to illustrate what I want to do.
>>>
>>> **********************
>>> *Stata Code*
>>>
>>> cd C:/PATH/Data/
>>> sysuse voter, clear
>>> keep candidat-inc
>>> drop if inc == 1 /*Drop if inc variable is equal to 1 (< $15k)*/
>>>
>>> file open mefile using ../Data/Test.txt, write replace
>>> file write mefile "Variable" _tab "Value" _tab "Number" _tab "Total" _tab _n
>>>
>>> foreach v of varlist candidat-inc{ /*For each variable in the dataset:*/
>>> levelsof `v', local(temp) /*Store variable values in a local macros.*/
>>>
>>> foreach t of local temp{ /*For each value of the variable:*/
>>> file write mefile "`v'" _tab /*Write variable name to file,*/
>>> file write mefile "`t'" _tab /*Write question response to file,*/
>>> summarize `v' if `v' == `t'
>>> file write mefile "`r(N)'" _tab /*Write value to file,*/
>>> }
>>> summarize `v'
>>> file write mefile "`r(N)'" _tab _n /*Write total number of
>>> responses to the question (variable) to file.*/
>>> }
>>>
>>> file close mefile
>>> **********************
>>>
>>> So I dropped the lowest income category from the dataset (let's assume
>>> there were no responses in that particular category). I'd like to use
>>> the "levelsof" command on the variable label instead of the variable
>>> values, since the label for the lowest category will always be in the
>>> dataset, but there may not be a variable value for each response
>>> category. How would one do that?
>>>
>>> Thanks!
>>> *
>>> * 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/
>> *
>> * 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/
> *
> * 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/
*
* 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/