Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
From | "Martin Weiss" <martin.weiss1@gmx.de> |
To | <statalist@hsphsun2.harvard.edu> |
Subject | st: AW: RE: Stop looping when reaching a certain observation |
Date | Sun, 18 Apr 2010 18:31:30 +0200 |
<> If ever you wanted Stata to stop calculating means when it sees a "V" in "kv", you could of course condition Nick`s call as -egen ssmean = mean(price) if kv!="V", by(ss)- ************* clear* inp str15(date fondsnaam kv) price byte ss 16-May-08 Grontmij K 24.7 7 03-Jul-08 Fortis K 10.175 11-Jul-08 AMGK 49.73 1 14-Jul-08 AMGK 49.59 1 17-Jul-08 Arcelor V 51.92 2 25-Jul-08 Fugro V 41.35 6 11-Aug-08 Fugro K 46.69 6 18-Aug-08 Nutreco K 43.35 8 21-Aug-08 Fugro K 49.42 6 05-Sep-08 Smit K 48.5 9 08-Sep-08 ArcelorV 44.64 2 08-Sep-08 Fugro K 47.83 6 end gen mydate=date(date, "DM20Y") form mydate %td egen ssmean = mean(price) if kv!="V", by(ss) list, noo ************* HTH Martin -----Ursprüngliche Nachricht----- Von: owner-statalist@hsphsun2.harvard.edu [mailto:owner-statalist@hsphsun2.harvard.edu] Im Auftrag von Nick Cox Gesendet: Sonntag, 18. April 2010 18:18 An: statalist@hsphsun2.harvard.edu Betreff: st: RE: Stop looping when reaching a certain observation There is absolutely no need to loop to solve your problem, of calculating means by company. egen ssmean = mean(price), by(ss) or using -table- or -tabstat- are two of many much simpler methods. Nick n.j.cox@durham.ac.uk George Chioran I am trying to figure out how to stop at certain observations while looping through a variable. Currently I am looping through the price variable, and making the average price sorted by company. I would like my program to stop doing the loop when variable kv is equal to V However, I cannot manage to stop the loop when variable kv is equal to V (at the price of 51.92 in the first instance) as in a sample of my database attached below. My program looks like this: local j = 1 while `j' <= 10 { preserve keep if ss == `j' su price local `j' = _result(3) restore local j = `j' +1 } Data base sample: date fondsnaam kv price ss 16-May-08 Grontmij K 24.7 7 03-Jul-08 Fortis K 10.175 11-Jul-08 AMGK 49.73 1 14-Jul-08 AMGK 49.59 1 17-Jul-08 Arcelor V 51.92 2 25-Jul-08 Fugro V 41.35 6 11-Aug-08 Fugro K 46.69 6 18-Aug-08 Nutreco K 43.35 8 21-Aug-08 Fugro K 49.42 6 05-Sep-08 SmitK 48.5 9 08-Sep-08 ArcelorV 44.64 2 08-Sep-08 Fugro K 47.83 6 * * 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/ * * 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/