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]
st: For Loop Using Variable Labels
From
Erika Kociolek <[email protected]>
To
[email protected]
Subject
st: For Loop Using Variable Labels
Date
Mon, 24 Jun 2013 15:40:29 -0700
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/