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: Looping within a subset under a certain condition
From
"Gerard Solbrig" <[email protected]>
To
<[email protected]>
Subject
RE: st: Looping within a subset under a certain condition
Date
Sun, 30 Sep 2012 22:15:08 +0200
Here's what Stata says:
- forvalues x = 1/`r(max)' {
= forvalues x = 1/18554 {
- summarize obs if firm_numid == `x' & rep == 0, meanonly
= summarize obs if firm_numid == 1 & rep == 0, meanonly
- local z1 = r(min)
- local z2 = r(max)
- summarize obs if firm_numid == `x' & rep == 1, meanonly
= summarize obs if firm_numid == 1 & rep == 1, meanonly
- local o1 = r(min)
- local o2 = r(max)
- forvalues i = `z1'/`z2' {
= forvalues i = 1/106 {
- local isin = 1
- forvalues o = `o1'/`o2' {
= forvalues o = ./. {
invalid syntax
if inrange(trandate[`i'], wind_start[`o'], wind_end[`o']) {
local isin = 0
}
if `isin' == 1 replace rep_ins = 1 in `i'
}
}
r(198);
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Nick Cox
Sent: Sonntag, 30. September 2012 21:53
To: [email protected]
Subject: Re: st: Looping within a subset under a certain condition
This code refers to -date- and -trandate- at different places.
gen long obs = _n
was recommended earlier.
Type
set trace on
set tracedepth 1
before running the code and see which line produces the error.
On Sun, Sep 30, 2012 at 7:28 PM, Gerard Solbrig
<[email protected]> wrote:
> I'm sorry, but I've been trying for hours now: Stata yields me
> "invalid syntax r(198);" every time I try to run this code:
>
> sort cusip6 rep date
> gen obs = _n
> gen rep_ins = 0
> egen firm_numid = group(cusip6)
> summarize firm_numid, meanonly
> forvalues x = 1/`r(max)' {
> su obs if firm_numid == `x' & rep == 0, meanonly
> local z1 = r(min)
> local z2 = r(max)
> su obs if firm_numid == `x' & rep == 1, meanonly
> local o1 = r(min)
> local o2 = r(max)
> forvalues i = `z1'/`z2' {
> local isin = 1
> forvalues o = `o1'/`o2' {
> if inrange(trandate[`i'], wind_start[`o'],
> wind_end[`o']) {
> local isin = 0
> }
> if `isin' == 1 replace rep_ins = 1 in `i'
> }
> }
> }
>
> Despite countless tries and modifications, I cannot find the mistake
> in the syntax. I simply don't know what is supposed to be wrong here.
> I know this code should be working the way I need it...
>
> Many thanks in advance.
> Gerard
>
>
*
* 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/