Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

st: Re: RE: RE: Re: RE: loop within loop


From   "Wang,Le" <[email protected]>
To   <[email protected]>
Subject   st: Re: RE: RE: Re: RE: loop within loop
Date   Tue, 19 Oct 2004 22:22:05 -0700

Nick 

Thank you very much. I think it works.

Le
----- Original Message ----- 
From: "Nick Cox" <[email protected]>
To: <[email protected]>
Sent: Tuesday, October 19, 2004 1:09 AM
Subject: st: RE: RE: Re: RE: loop within loop


> This code does more work than is necessary. 
> A better version is below. (Still not tested.) 
> 
> tokenize "a b c d e"
> qui forval i = 1/4 { 
> local I = `i' + 1 
>   forval j = `I'/5 { 
>   forval y = 1988/2003 { 
>   forval m = 1/12 { 
>   corr ``i'' ``j'' if year == `y'  & month == `m' 
>   replace ``i''``j'' = r(rho) if year == `y' & month == `m' 
>   }
>   }
>   }
> } 
> 
> Nick 
> [email protected] 
> 
> > -----Original Message-----
> > From: [email protected]
> > [mailto:[email protected]]On Behalf Of Nick Cox
> > Sent: 18 October 2004 23:30
> > To: [email protected]
> > Subject: st: RE: Re: RE: loop within loop
> > 
> > 
> > I am less clear now on what your real problem is. 
> > 
> > But being interested in several variables doesn't 
> > make the issues any different. If you 
> > want to put correlations into variables, you 
> > must still operate with one correlation from 
> > each pair of variables. -matrix accum- looks to me 
> > like a poor choice of method. You end up 
> > putting stuff into a matrix and then need 
> > to get it out again, a bit like going to Houston 
> > from Dallas via San Antonio, perhaps instructive 
> > but nevertheless indirect. As you are cycling 
> > over years and months, you need to work with 
> > several matrices, which makes the problem yet
> > more complicated. 
> > 
> > If I had a varlist a b c d e, there are 
> > ten distinct correlations which we can denote
> > ab ac ad ae bc bd be cd ce de. 
> > 
> > So I can go 
> > 
> > foreach v in ab ac ad ae bc bd be cd ce de { 
> > gen `v' = . 
> > } 
> > 
> > and then some code to get all the correlations 
> > from all pairs of variables, all years and months
> > might look like this, but this isn't tested: 
> > 
> > tokenize "a b c d e"
> > qui forval i = 1/4 { 
> > forval j = 2/5 { 
> > forval y = 1988/2003 { 
> > forval m = 1/12 { 
> > corr ``i'' ``j'' if year == `y' 
> > & month == `m' 
> > replace ``i''``j'' = r(rho) if 
> > year == `y' & month == `m' 
> > }
> > }
> > }
> > } 
> > 
> 
> *
> *   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/



© Copyright 1996–2024 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index