Bookmark and Share

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]

Re: st: Some basic help on programming


From   Nick Cox <njcoxstata@gmail.com>
To   statalist@hsphsun2.harvard.edu
Subject   Re: st: Some basic help on programming
Date   Mon, 16 Apr 2012 15:42:49 +0100

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/


© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index