 Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.

# Re: st: RE: Re: Generating the sum of a variable

 From W R Goe To statalist@hsphsun2.harvard.edu Subject Re: st: RE: Re: Generating the sum of a variable Date Wed, 23 Feb 2011 16:12:09 -0500 (EST)

```Nick & Brendan,

Thank you. --  Richard

Professor of Sociology
Dept. of Sociology, Anthropology & Social Work
204 Waters Hall
Kansas State University
Manhattan, KS 66506
Telephone:(785) 532-4973
Fax: (785) 532-6970

----- Original Message -----
From: "Nick Cox" <n.j.cox@durham.ac.uk>
To: "statalist@hsphsun2.harvard.edu" <statalist@hsphsun2.harvard.edu>
Sent: Wednesday, February 23, 2011 2:06:58 PM
Subject: st: RE: Re: Generating the sum of a variable

The sum is returned by -summarize- (just not displayed). You can access it as r(sum).

. sysuse auto, clear
(1978 Automobile Data)

. su mpg, meanonly

. di r(sum)
1576

. su mpg

Variable |       Obs        Mean    Std. Dev.       Min        Max
-------------+--------------------------------------------------------
mpg |        74     21.2973    5.785503         12         41

. ret li

scalars:
r(N) =  74
r(sum_w) =  74
r(mean) =  21.2972972972973
r(Var) =  33.47204738985561
r(sd) =  5.785503209735141
r(min) =  12
r(max) =  41
r(sum) =  1576

There is a small efficiency gain in using -su, meanonly- if you only care about the sum.

J-7-3  st0135  . . . . . . . . . . . Stata tip 50: Efficient use of summarize
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  N. J. Cox
Q3/07   SJ 7(3):438--439                                 (no commands)
tip on using the meanonly option of summarize to more
quickly determine the mean and other statistics of a
large dataset

If you wanted the sum to be shown always, I think you'd need to write a small program to that effect. Someone may well have done this already. This is just to show the spirit, and can naturally be extended.

program mystat
version 8
syntax varname(numeric) [if] [in]

marksample touse
qui count if `touse'
if r(N) == 0 error 2000

su `varlist' if `touse', meanonly
local format : format `varlist'

di
di "Mean " `format' r(mean)
di "Min  " `format' r(min)
di "Max  " `format' r(max)
di "Sum  " `format' r(sum)
end

. mystat mpg

Mean  21.2973
Min        12
Max        41
Sum      1576

. mystat mpg if foreign

Mean  24.7727
Min        14
Max        41
Sum       545

Nick
n.j.cox@durham.ac.uk

W R Goe

How can I easily generate the sum of a variable? I know this can be done with  the sum function, but can you get the sum as part of the output of a Stata program that generates univariate statistics (e.g. Summarize).

*
*   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/
```