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: how to keep labels when using foreach
From
[email protected]
To
"[email protected]" <[email protected]>
Subject
Re: st: how to keep labels when using foreach
Date
Wed, 13 Mar 2013 12:25:38 +0000
Thanks Nick
Thats ok since im dealing with pregnant women and 45 actually covers age 45+ ;)
Kind regards
Anne Broe
+45 26444975 / +44(0)7740117144
Den 13/03/2013 kl. 12.11 skrev Nick Cox <[email protected]>:
> Don't blame -foreach- here. You lose value labels here because they
> are not needed and not asked for as far as your new variables are
> concerned.
>
> As I understand it, your new dataset includes only these variables
>
> group
> atc_yes
> atc_no
>
> Your predictors are some male age variable, I guess, and
> -smoking_status-, which seems eminently scrutable as "smoking status".
> Assuming you have value labels for the latter only, your code might be
> extended in this way:
>
> foreach xx in m_agegr==0 m_agegr==15 m_agegr==20 m_agegr==25
> m_agegr==30 m_agegr==35 m_agegr==40 m_agegr==45 smoking_status==0
> smoking_status==1 smoking_status==2 smoking_status==3 {
> use Work\Temp4, clear
> display "`xx'"
> keep if `xx'
> gen atc_yes = 1 if ga_atc==1
> gen atc_no = 1 if ga_atc==0
>
> // new
> if substr("`xx'", 1, 7) == "smoking" {
> local val = substr("`xx'", -1, 1)
> local label : label (smoking_status) `val'
> }
> else local label ""
>
> collapse (sum) atc_yes atc_no
> gen str30 group="`xx'"
>
> // new
> gen str30 label = "`label'"
>
> if "`xx'" != "m_agegr==0" append using Work\Q4
> save Work\Q4, replace
> }
>
> I see that I would be excluded from your dataset on ageist grounds.
>
> Nick
>
> On Wed, Mar 13, 2013 at 11:38 AM, anne broe <[email protected]> wrote:
>
>> Im using -foreach- but seem to loose all my value labels when doing so.
>> How can I keep the labels in the output from -foreach-?
>>
>> this is my do file
>>
>> foreach xx in m_agegr==0 m_agegr==15 m_agegr==20 m_agegr==25
>> m_agegr==30 m_agegr==35 m_agegr==40 m_agegr==45 smoking_status==0
>> smoking_status==1 smoking_status==2 smoking_status==3 {
>> use Work\Temp4, clear
>> display "`xx'"
>> keep if `xx'
>> gen atc_yes = 1 if ga_atc==1
>> gen atc_no = 1 if ga_atc==0
>> collapse (sum) atc_yes atc_no
>> gen str30 group="`xx'"
>> if "`xx'" != "m_agegr==0" append using Work\Q4
>> save Work\Q4, replace
>> }
> *
> * 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/