[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

From |
Neil Shephard <nshephard@nhs.net> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
st: egen & sum() |

Date |
Wed, 26 Nov 2008 09:51:56 +0000 |

Hi, I've been poring over someone else's Stata code trying to understand it and have discovered what seems to be inconsistent or undocumented behaviour. The do-file has the following line... egen b = sum(a) This stood out to me as I thought the current version of -egen- uses the -total()- function to obtain the combined (as opposed to running) sum of a variable so checked the -man egen- and -man egenmore- pages and sure enough there is no mention of -sum() as an -egen- function. -sum()- is however a [P] function and returns the running sum of the specified variable. Thus I would have expected -egen b = sum(a)- to return the running sum of b, but this is not the case, it behaves as though -sum()- is a synonym for -total()- as the following example demonstrates... . clear . set obs 10 obs was 0, now 10 . gen a = _n . gen b = sum(a) . egen b2 = sum(a) . egen b3 = total(a) . list +-------------------+ | a b b2 b3 | |-------------------| 1. | 1 1 55 55 | 2. | 2 3 55 55 | 3. | 3 6 55 55 | 4. | 4 10 55 55 | 5. | 5 15 55 55 | |-------------------| 6. | 6 21 55 55 | 7. | 7 28 55 55 | 8. | 8 36 55 55 | 9. | 9 45 55 55 | 10. | 10 55 55 55 | +-------------------+ Based on the help-pages and documentation I would have expected b2 == b1 as -egen b2 = sum(a)- should be treating -sum()- as described in the -man sum()- page. Indeed even the third example in -man egen- shows that -sum()- should be used with -generate- and -total()- should be used with -egen- Is there any historical legacy that anyone is aware of -sum()- being a valid -egen- function that may be lingering around causing this behaviour? Should the behaviour or the documentation be modified? Or have I completely misunderstood things? Neil -- "We should make things as simple as possible, but not simpler" - Anon (not Albert Einstein) *********************************************************************** This message may contain confidential and privileged information. If you are not the intended recipient you should not disclose, copy or distribute information in this e-mail or take any action in reliance on its contents. To do so is strictly prohibited and may be unlawful. Please inform the sender that this message has gone astray before deleting it. Thank you. 2008 marks the 60th anniversary of the NHS. It's an opportunity to pay tribute to the NHS staff and volunteers who help shape the service, and celebrate their achievements. If you work for the NHS and would like an NHSmail email account, go to: www.connectingforhealth.nhs.uk/nhsmail *********************************************************************** * * 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/

**Follow-Ups**:**st: RE: egen & sum()***From:*"Nick Cox" <n.j.cox@durham.ac.uk>

**st: RE: egen & sum()***From:*"Martin Weiss" <martin.weiss1@gmx.de>

- Prev by Date:
**Re: st: RE: Re: how to reply on Statalist** - Next by Date:
**st: RE: egen & sum()** - Previous by thread:
**st: re: generate trend variable in Stata** - Next by thread:
**st: RE: egen & sum()** - Index(es):

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