Assuming your original variable is x:
. generate runprod = x in 1
. replace runprod = runprod[_n-1]*x in 2/l
The generate statement puts the first value in the first observation of runprod.
Then the replace takes advantage of the fact that replace works its way through the data from beginning to end, and for each observation starting with the second, takes the prior running product, multiplies by the current x, and puts the result in the current running product.
(Note that the final character in the "in 2/l" in the replace statement is the letter "el", for last, not the number one.
Cheers,
Nick Winter
-----------------------------------------------------------
Nicholas Winter, Ph.D. P 202.939.5343
Policy Studies Associates F 202.939.5732
1718 Connecticut Avenue, NW [email protected]
Washington, DC 20009-1148 www.policystudies.com
-----------------------------------------------------------
> -----Original Message-----
> From: Alessandra Franzosi [mailto:[email protected]]
> Sent: Thursday, March 27, 2003 1:09 PM
> To: [email protected]
> Subject: st: running product
>
>
> How is it possible to generate in Stata a new variable that
> is the running product of another one?
>
> Thanks a lot
>
> Alessandra
>
> --------------------------------------------------------------
> --------------
> L'utilizzo non autorizzato del presente messaggio �
> vietato e potrebbe costituire reato. Se il presente
> messaggio non e' a Lei indirizzato, Le saremmo grati se,
> via e-mail, ne comunicasse l'errata ricezione. Il
> contenuto del presente messaggio non deve essere
> considerato come trasmesso o autorizzato da Borsa Italiana. Borsa
> Italiana non si assume alcuna responsabilit� per eventuali
> intercettazioni, modifiche o danneggiamenti del presente
> messaggio e-mail.
>
> The unauthorized use of this e-mail is prohibited and could
> constitute an offence. Please notify Borsa Italiana
> immediately by reply e-mail if you are not the intended
> recepient. The contents of this message shall be understood as
> neither given nor endorsed by Borsa Italiana. Borsa Italiana
> does not accept liability for corruption, interception or
> amendment, if any, or the consequences thereof.
> --------------------------------------------------------------
> --------------
>
>
>
> *
> * 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/