Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
From | Yuval Arbel <yuval.arbel@gmail.com> |
To | statalist@hsphsun2.harvard.edu |
Subject | Re: st: Running Product Function |
Date | Mon, 10 Dec 2012 00:06:03 +0200 |
Eventually, I improved the system and put:the following commands: by appt: replace reduct_per=1 if reduct_per==0 by appt: gen y1=exp(sum(ln(reduct_per))) I got the following table, which is exactly what I need (I don't want the geometric mean to be set to zero): . list reduct_per y3 if appt==2862 +---------------------+ | reduct~r y3 | |---------------------| 30. | 1 1 | 31. | 1 1 | 32. | 1 1 | 33. | 1 1 | 34. | 1 1 | |---------------------| 35. | 1 1 | 36. | 1 1 | 37. | 1 1 | 38. | 1 1 | 39. | 1 1 | |---------------------| 40. | 1 1 | 41. | 1 1 | 42. | 1 1 | 43. | 1 1 | 44. | 1 1 | |---------------------| 45. | 1 1 | 46. | 1 1 | 47. | 1 1 | 48. | 1 1 | 49. | 1 1 | |---------------------| 50. | 1 1 | 51. | 1 1 | 52. | 1 1 | 53. | 1 1 | 54. | 1 1 | |---------------------| 55. | 25 25 | 56. | 25 625 | 57. | 25 15625 | 58. | 25 390625 | 59. | 25 9765625 | |---------------------| 60. | 25 2.44e+08 | 61. | 25 6.10e+09 | 62. | 25 1.53e+11 | 63. | 25 3.81e+12 | 64. | 25 9.54e+13 | |---------------------| 65. | 25 2.38e+15 | 66. | 25 5.96e+16 | +---------------------+ On Sun, Dec 9, 2012 at 11:56 PM, Nick Cox <njcoxstata@gmail.com> wrote: > That is reasonable if and only if zero is in effect a code for missing > in your situation. > > (In terms of your earlier reference, -prod()- is a user-written -egen- > function which must be installed from > > STB-51 dm71 . . . . . . . . . . . . Calculating the product of observations > (help prod if installed) . . . . . . . . . . . . . . . . . . P. Ryan > 9/99 pp.3--4; STB Reprints Vol 9, pp.45--48 > extension to egen for producing the product of observations > > Please remember to explain _where_ you obtained user-written code.) > > Nick > > On Sun, Dec 9, 2012 at 9:40 PM, Yuval Arbel <yuval.arbel@gmail.com> wrote: >> I don't have negative values, but I have zeros, in which case I can >> replace them by one and then take the -ln()- >> >> On Sun, Dec 9, 2012 at 11:31 PM, Nick Cox <njcoxstata@gmail.com> wrote: >>> Oddly enough I was thinking earlier today about how you would >>> generalise this if any values were not positive. >>> >>> If any value is zero, then the product becomes zero; otherwise one >>> would need to separate out products of -abs()- and -sign()-. >>> >>> Nick >>> >>> On Sun, Dec 9, 2012 at 9:19 PM, Yuval Arbel <yuval.arbel@gmail.com> wrote: >>> >>>> Please ignore my previous e-mails regarding this question >>>> >>>> After a short additional search, I found a very nice (and well known) >>>> trick proposed by Nick Cox to address the problem (which, from some >>>> reason did not come to my mind): >>>> >>>> bysort group : gen prod = sum(ln(x)) >>>> by group : replace prod = exp(prod[_N]) >>>> >>>> On Sun, Dec 9, 2012 at 11:05 PM, Yuval Arbel <yuval.arbel@gmail.com> wrote: >>>>> P.S. According to stata's help, the details of the author of the >>>>> -prod()- function is: >>>>> >>>>> Philip Ryan >>>>> Department of Public Health >>>>> University of Adelaide >>>>> South Australia >>>>> pryan@medicine.adelaide.edu.au >>> >>> >>> On Sun, Dec 9, 2012 at 10:53 PM, Yuval Arbel <yuval.arbel@gmail.com> wrote: >>> >>>>>> I appreciate very much your assistance in the following question:, >>>>>> >>>>>> I'm looking for an equivalent function for -gen y1=sum()- which will >>>>>> calculate running product for each point in time >>>>>> >>>>>> In fact, what I would like to calculate is a running geometric mean >>>>>> >>>>>> Note also that -gen y2=prod()- does not work (i.e., stata does not >>>>>> identify the function). Only -egen y2=prod()- works, but it generates >>>>>> only one product for each panel, and this is not what I need. >>>>>> >>>>>> Finally, I tried the -amean- command,, but it simply gives summary >>>>>> statistics of different means, and it is not a function.. > * > * 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/ -- Dr. Yuval Arbel School of Business Carmel Academic Center 4 Shaar Palmer Street, Haifa 33031, Israel e-mail1: yuval.arbel@carmel.ac.il e-mail2: yuval.arbel@gmail.com * * 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/