Notice: On March 31, it was **announced** that Statalist is moving from an email list to a **forum**. The old list will shut down on April 23, and its replacement, **statalist.org** is already up and running.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

From |
Friedrich Huebler <fhuebler@gmail.com> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: Some basic help on programming |

Date |
Mon, 16 Apr 2012 17:34:19 -0400 |

Prakash, As Nick wrote, your references to "level" are incorrect. For example, this line: if level==3 | level==5 { should be: if `l'==3 | `l'==5 { Friedrich On Mon, Apr 16, 2012 at 2:02 PM, Nick Cox <njcoxstata@gmail.com> wrote: > Sorry, but that doesn't make it easier for me to comment helpfully. My > guess is that your code from the outset won't actually do anything > like what you want to do, even if it is legal as far as Stata is > concerned. > > As I said, your code opens with a loop over values 3/9 but you use the > name -level- to refer to the possibilities. But > > 1. That will only work if -level- is a name of an existing variable or > scalar, or the abbreviation thereof. But if -level- is a variable, > such code is almost always not going to do to what the author intends. > See > > http://www.stata.com/support/faqs/lang/ifqualifier.html > > for an explanation showing that (e.g.) > > if level==3 | level==5 { > > will mean > > if level[1] == 3 | level[1] == 5 { > > if -level- is a variable. Also if -level- is a scalar, then where is > it defined? > > 2. You don't address my earlier point that you are looping with a > macro named -l- but use -level- to refer to the values 3/9. That > doesn't seem to hang together. > > Nick > > On Mon, Apr 16, 2012 at 6:04 PM, Prakash Singh <prakashbhu@gmail.com> wrote: >> Nick, I am able to run the code till - save "level`l'data.dta",replace >> - successfully but for remaining for remaining part of the code it >> either says invalid syntax or data not found. >> >> Please have look on code lines after - save "level`l'data.dta",replace. >> >> >> Prakash >> >> >> On Mon, Apr 16, 2012 at 8:12 PM, Nick Cox <njcoxstata@gmail.com> wrote: >>> Posting a chunk of code and giving no details of precisely what errors >>> you are getting is not strongly recommended. But a wild guess is this: >>> >>> Your branches like >>> >>> if level==3 | level==5 { >>> } >>> if level==4| level ==6| level==7 { >>> } >>> if level==8 { >>> } >>> if level==9 { >>> } >>> >>> make reference to -level- but what do you think it is? From the outer >>> loop I suspect that >>> >>> level >>> >>> should in each case be >>> >>> `l' >>> >>> Nick >>> >>> On Mon, Apr 16, 2012 at 1:23 PM, Prakash Singh <prakashbhu@gmail.com> wrote: >>>> Friedrich, >>>> I know that there is some thing worng with my code. when I am merging >>>> the level data ie last part of the code but what ever changes I have >>>> tried some or the other error is coming. >>>> >>>> Here is the code >>>> >>>> local levels "3 4 5 6 7 8 9" >>>> foreach l of local levels { >>>> use "level`l'_list.dta", clear >>>> if level==3 | level==5 { >>>> local vars "item_code asicc_code unit_quantity quantity value" >>>> } >>>> if level==4| level ==6| level==7 { >>>> local vars "item_code value" >>>> } >>>> if level==8 { >>>> local vars "item_code value_ownd_assets value_hired_assets >>>> addition_ownd_assets sign rent_payable" >>>> } >>>> if level==9 { >>>> local vars "item_code loan_outs int_payable" >>>> } >>>> levelsof item_code, local(items) >>>> foreach i of local items { >>>> preserve >>>> keep if item_code==`i' >>>> foreach var of varlist `vars' { >>>> ren `var' `var'_`i' >>>> } >>>> sort common_id >>>> save "item`i'.dta", replace >>>> restore >>>> } >>>> contract common_id >>>> drop _freq >>>> foreach i of local items { >>>> merge common_id using "item`i'.dta" >>>> drop _merge >>>> sort common_id >>>> } >>>> save "level`l'data.dta",replace >>>> } >>>> contract common_id >>>> drop _freq >>>> foreach l of local levels { >>>> merge common_id using "level`l'data.dta" >>>> drop _merge >>>> sort common_id >>>> } >>>> save "level3_9data.dta",replace * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/

**Follow-Ups**:**Re: st: Some basic help on programming***From:*Prakash Singh <prakashbhu@gmail.com>

**References**:**st: Some basic help on programming***From:*Prakash Singh <prakashbhu@gmail.com>

**Re: st: Some basic help on programming***From:*Maarten Buis <maartenlbuis@gmail.com>

**Re: st: Some basic help on programming***From:*Prakash Singh <prakashbhu@gmail.com>

**Re: st: Some basic help on programming***From:*Maarten Buis <maartenlbuis@gmail.com>

**Re: st: Some basic help on programming***From:*Prakash Singh <prakashbhu@gmail.com>

**Re: st: Some basic help on programming***From:*Friedrich Huebler <fhuebler@gmail.com>

**Re: st: Some basic help on programming***From:*Prakash Singh <prakashbhu@gmail.com>

**Re: st: Some basic help on programming***From:*Friedrich Huebler <fhuebler@gmail.com>

**Re: st: Some basic help on programming***From:*Prakash Singh <prakashbhu@gmail.com>

**Re: st: Some basic help on programming***From:*Friedrich Huebler <fhuebler@gmail.com>

**Re: st: Some basic help on programming***From:*Prakash Singh <prakashbhu@gmail.com>

**Re: st: Some basic help on programming***From:*Friedrich Huebler <fhuebler@gmail.com>

**Re: st: Some basic help on programming***From:*Prakash Singh <prakashbhu@gmail.com>

**Re: st: Some basic help on programming***From:*Friedrich Huebler <fhuebler@gmail.com>

**Re: st: Some basic help on programming***From:*Friedrich Huebler <fhuebler@gmail.com>

**Re: st: Some basic help on programming***From:*Prakash Singh <prakashbhu@gmail.com>

**Re: st: Some basic help on programming***From:*Friedrich Huebler <fhuebler@gmail.com>

**Re: st: Some basic help on programming***From:*Prakash Singh <prakashbhu@gmail.com>

**Re: st: Some basic help on programming***From:*Friedrich Huebler <fhuebler@gmail.com>

**Re: st: Some basic help on programming***From:*Prakash Singh <prakashbhu@gmail.com>

**Re: st: Some basic help on programming***From:*Nick Cox <njcoxstata@gmail.com>

**Re: st: Some basic help on programming***From:*Prakash Singh <prakashbhu@gmail.com>

**Re: st: Some basic help on programming***From:*Nick Cox <njcoxstata@gmail.com>

- Prev by Date:
**Re: st: Looping over a levelsof macro to match/replace** - Next by Date:
**Re: st: Bootstrapping with 'bca' option will not give BCa confidence interval** - Previous by thread:
**Re: st: Some basic help on programming** - Next by thread:
**Re: st: Some basic help on programming** - Index(es):