# st: Re: svy: mean and descriptive tables

 From "Michael Blasnik" To Subject st: Re: svy: mean and descriptive tables Date Thu, 19 Jul 2007 10:30:42 -0400

...

You need to learn more about returned results from commands. Try typing ereturn list after svy:mean and see what is stored. You almost have the loop you need:

foreach var of varlist var1 var2 var3 {
qui svy: mean `var'
mat b=e(b)
local sd= sqrt(e(N) * el(e(V_srs), 1, 1))
noi di "`var' " _col(15) b[1,1] _col(30) `sd'
}

You may want to add some numeric formats to the display statement

Michael Blasnik

----- Original Message ----- From: "Claire Kamp Dush" <ckamp-dush@ehe.osu.edu>
To: <statalist@hsphsun2.harvard.edu>
Sent: Wednesday, July 18, 2007 10:52 PM
Subject: st: svy: mean and descriptive tables

```Dear Statalisters,

I am running several svy: mean commands for a descriptive statistic
table I am creating.  Here is the code I am running:

After svy setting the variables

foreach var of varlist var1 var2 var3 {
svy: mean `var'
di sqrt(e(N) * el(e(V_srs), 1, 1))
}

I am using Stata 9.  This code is working fine, and the first line
calculates the weighted mean and the second the standard deviation.  My
question is:
Is there a way for me to write a code to create a table for my means and
standard deviations automatically?  For instance, I would like a table
as follows:

Var 1 mean1 sd1
Var 2 mean2 sd2
Var 3 mean3 sd3

Any suggestions on how I could do this?  Here is my first attempt at a
program:

prog svymean
local mean = svy: mean `1'
local sd = di sqrt(e(N) * el(e(V_srs), 1, 1))
display e(varlist) `mean' `sd'
end
```
<snip>
*
* 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/