|  | 
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]
RE: st: RE: Forvalues, syntax error
Dear Neil, Rajesh and Stata list,
I think why there is an error-my observations (see below) are not getting 
picked up when I -summarize i- and hence there can no -local max1-. I have 
the uneviable task of am using someone else's unanotated code!
Rajesh, the -finaltemp-had been generated but I did not copy it in the code 
I sent.
Thank you both and I plod away.
set more off
set matsize 5000
set trace on /*Suggestion from Stata list*/
set tracedepth 2 /*Suggestion from Stata list*/
use `allsvys1', clear
egen i=group(un_region2 sex_code) if excind!=1 & sex_code!=3 & 
total_age_group!=1 & agegrp==0
summarize i   /*PROBLEM*/
local max1=r(max)
gen error1=.
gen error2=.
save `allsvys', replace
OUTPUT for summarize i :
summarize i
   Variable |       Obs        Mean    Std. Dev.       Min        Max
-------------+--------------------------------------------------------
          i |         0
Gauri
From: "Rajesh Tharyan" <[email protected]>
Reply-To: [email protected]
To: <[email protected]>
Subject: st: RE: Forvalues, syntax error
Date: Thu, 5 Jul 2007 15:15:25 +0100
Hi,
One guess is with the lines for append and save
Try using the full path
Something like (replace C:\path with your drive and path)
append using "C:\path\\`file'"
save "C:\path\\`file'",replace
Also,  I cannot see where the `finaltemp' is being created in the first
place..
Hope this helps
rajesh
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Gauri Khanna
Sent: 05 July 2007 14:25
To: [email protected]
Subject: st: Forvalues, syntax error
Dear Stata List,
I have run into a syntax error r(198) after running the command -
forvalues-.
The strange thing is that the code works when I use my entire dataset but I
get this syntax error when I use a subset of the data. Since this is a
syntax problem, my guess is that it is not a substantive issue but I am
quite puzzled as to the problem with syntax. I have copied the code and the
output for you to see. I am grateful for your help.
COMMANDS
***Regression***
set more off
set matsize 5000
use `allsvys1', clear
egen i=group(un_region2 sex_code) if excind!=1 & sex_code!=3 &
total_age_group!=1 & agegrp==0
summarize i
local max1=r(max)
gen error1=.
gen error2=.
save `allsvys', replace
forvalues svy = 1/`max1' {
	use `allsvys', clear
	keep if i==`svy'
	summarize smk_d
	local maxsd=r(max)
	if `maxsd'>=95 local maxsd=95
	local minsd=r(min)
	if `minsd'<=5 local minsd=5
	summarize cig_d
	local maxcd=r(max)
	if `maxcd'>=95 local maxcd=95
	local mincd=r(min)
	if `mincd'<=5 local mincd=5
	replace lgsmkd=ln((smk_d-(`minsd'-5))/((`maxsd'+5)-smk_d))
	replace lgcigd=ln((cig_d-(`mincd'-5))/((`maxcd'+5)-cig_d))
	replace agesmkd=midage*lgsmkd
	replace agecigd=midage*lgcigd
	list un_region2 in 1
	list sex_code in 1
	sw regress lgcigd lgsmkd midage agesmkd [aweight=sample_size] if
excind!=1
& sex_code!=3 & total_age_group!=1 & totalind!=1 & agegrp==0 &
source_code!=101692 & source_code!=101731 & source_code!=101712 &
source_code!=101014 & source_code!=101711 & source_code!=101724, pr(0.05)
lockterm1 hier
	mark type if excind!=1 & sex_code!=3 & total_age_group!=1 &
totalind!=1 &
agegrp==0 & lgcigd!=. & lgsmkd!=. & source_code!=101014 &
source_code!=101711 & source_code!=101724 & source_code!=101692 &
source_code!=101731 & source_code!=101712
	predict yhat1
	replace r2noc=e(r2_a)
	replace cig_d_est2 =
((`mincd'-5)+(`maxcd'+5)*exp(yhat1))/(1+exp(yhat1))
	replace cig_d=min(cig_d_est2, cig_c, smk_d)  if cig_d == . &
cig_d_est2 !=
. & agegrp==0
****************************************************************************
******************************************************
****************************************************************************
******************************************************
	sw regress lgsmkd lgcigd midage agecigd [aweight=sample_size] if
type==1,
pr(0.05) lockterm1 hier
	predict yhat3
	replace r2nos=e(r2_a)
	replace smk_d_est2 =
((`minsd'-5)+(`maxsd'+5)*exp(yhat3))/(1+exp(yhat3))
	replace trace22="typeconv cigd->smkd ok"    if cig_d!=. & cig_d!=0 &
smk_d
== . & smk_d_est2 != . & smk_c==. & smk_d_est2>cig_d & agegrp==0
	replace smk_d=smk_d_est2                    if cig_d!=. & cig_d!=0 &
smk_d
== . & smk_d_est2 != . & smk_c==. & smk_d_est2>cig_d & agegrp==0
	replace trace22="typeconv cigd->smkd cigd"  if cig_d!=. & cig_d!=0 &
smk_d
== . & smk_d_est2 != . & smk_c==. & smk_d_est2<=cig_d & agegrp==0
	replace smk_d=cig_d                         if cig_d!=. & cig_d!=0 &
smk_d
== . & smk_d_est2 != . & smk_c==. & smk_d_est2<=cig_d & agegrp==0
	cap append using  `finaltemp'
	save `finaltemp', replace
}
invalid syntax
r(198);
OUTPUT
.
. ****Regression****
.
. set more off
. set matsize 5000
Current memory allocation
                    current                                 memory usage
    settable          value     description                 (1M = 1024k)
    --------------------------------------------------------------------
    set maxvar         5000     max. variables allowed           1.733M
    set memory          500M    max. data space                500.000M
    set matsize        5000     max. RHS vars in models        191.154M
                                                            -----------
                                                               692.887M
.
. use `allsvys1', clear
. egen i=group(un_region2 sex_code) if excind!=1 & sex_code!=3 &
total_age_grou
>p!=1 & agegrp==0
(9973 missing values generated)
. summarize i
    Variable |       Obs        Mean    Std. Dev.       Min        Max
-------------+--------------------------------------------------------
           i |         0
. local max1=r(max)
. gen error1=.
(9973 missing values generated)
. gen error2=.
(9973 missing values generated)
. save `allsvys', replace
(note: file C:\DOCUME~1\khannag\LOCALS~1\Temp\ST_0000001b.tmp not found)
file C:\DOCUME~1\khannag\LOCALS~1\Temp\ST_0000001b.tmp saved
.
.
. forvalues svy = 1/`max1' {
  2.         use `allsvys', clear
  3.         keep if i==`svy'
  4.
.         summarize smk_d
  5.         local maxsd=r(max)
  6.         if `maxsd'>=95 local maxsd=95
  7.         local minsd=r(min)
  8.         if `minsd'<=5 local minsd=5
  9.
.         summarize cig_d
10.         local maxcd=r(max)
11.         if `maxcd'>=95 local maxcd=95
12.         local mincd=r(min)
13.         if `mincd'<=5 local mincd=5
14.
.         replace lgsmkd=ln((smk_d-(`minsd'-5))/((`maxsd'+5)-smk_d))
15.         replace lgcigd=ln((cig_d-(`mincd'-5))/((`maxcd'+5)-cig_d))
16.
.         replace agesmkd=midage*lgsmkd
17.         replace agecigd=midage*lgcigd
18.
.         list un_region2 in 1
19.         list sex_code in 1
20.
.         sw regress lgcigd lgsmkd midage agesmkd [aweight=sample_size] if
exci
>nd!=1 & sex_code!=3 & total_age_group!=1 & totalind!=1 & agegrp==0 &
>source_c
>ode!=101692 & source_code!=101731 & source_code!=101712 &
>source_code!=101014
>  & source_code!=101711 & source_code!=101724, pr(0.05) lockterm1 hier
21.         mark type if excind!=1 & sex_code!=3 & total_age_group!=1 &
totali
>nd!=1 & agegrp==0 & lgcigd!=. & lgsmkd!=. & source_code!=101014 &
>source_code
>!=101711 & source_code!=101724 & source_code!=101692 & 
source_code!=101731
>& source_code!=101712
22.         predict yhat1
23.         replace r2noc=e(r2_a)
24.         replace cig_d_est2 =
((`mincd'-5)+(`maxcd'+5)*exp(yhat1))/(1+exp(y
>hat1))
25.         replace cig_d=min(cig_d_est2, cig_c, smk_d)  if cig_d == . &
cig_d
>_est2 != . & agegrp==0
26.
.
****************************************************************************
*
>*****************************************************
.
****************************************************************************
*
>*****************************************************
.
.         sw regress lgsmkd lgcigd midage agecigd [aweight=sample_size] if
type
>==1, pr(0.05) lockterm1 hier
27.         predict yhat3
28.         replace r2nos=e(r2_a)
29.         replace smk_d_est2 =
((`minsd'-5)+(`maxsd'+5)*exp(yhat3))/(1+exp(y
>hat3))
30.
.         replace trace22="typeconv cigd->smkd ok"    if cig_d!=. & 
cig_d!=0
&
>smk_d == . & smk_d_est2 != . & smk_c==. & smk_d_est2>cig_d & agegrp==0
31.         replace smk_d=smk_d_est2                    if cig_d!=. &
cig_d!=0
>  & smk_d == . & smk_d_est2 != . & smk_c==. & smk_d_est2>cig_d & 
agegrp==0
32.         replace trace22="typeconv cigd->smkd cigd"  if cig_d!=. &
cig_d!=0
>  & smk_d == . & smk_d_est2 != . & smk_c==. & smk_d_est2<=cig_d & 
agegrp==0
33.         replace smk_d=cig_d                         if cig_d!=. &
cig_d!=0
>  & smk_d == . & smk_d_est2 != . & smk_c==. & smk_d_est2<=cig_d & 
agegrp==0
34.
.         cap append using  `finaltemp'
35.         save `finaltemp', replace
36.  }
invalid syntax
r(198);
Thank you.
Gauri
_________________________________________________________________
Don't just search. Find. Check out the new MSN Search!
http://search.msn.com/
*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE! 
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/