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

Fwd: st: Loop over variables with svyset

From   "Daniel Schultz" <>
Subject   Fwd: st: Loop over variables with svyset
Date   Tue, 18 Nov 2008 22:31:06 +0000

Hej Stas......
 Your suggestion looked quite nice....
but when I was testing is doing first all of the Variables of
the Year 2002 and than 2003 and so on.
This is not exactly what I wanted....I need, that the svyset changes
every time the Variable changed. Otherwise it would took me ages to
bring all the variables together in one table (for one year).

I am pretty sure it is doable, but I don't really know how.
thanks for all your comments so far.

---------- Forwarded message ----------
From: Stas Kolenikov <>
Date: 2008/11/18
Subject: Re: st: Loop over variables with svyset

how about this:

* cycle over years
forvalues year = 1/7 {
 * svyset for that yea
 svyset [pw=weight`year']
 * cycle over the variables
 foreach x of varlist Q*_0`year' {
   svy: tab `x'

You might also want to put some -quietly- and -noisily- statements in
places, and may be figure out more of the TeX-related Stata commands.
I am sure there is a way to put the tabulators & and \\ in proper
places from within Stata, but I've never done this with tables, only
with estimates using -estout-.

On 11/18/08, Daniel Schultz <> wrote:
> Hej stata user....
>  Maybe this question is too easy for you, but i am kicking it around
>  since a week ore so and couldn't find a proper solution.
>  I have a dataset with 1200 variables of a survey. This survey was held
>  over a couple of years. What I want to do is extracting a codebook of
>  the dataset.
>  Therefore every variable should be tabbed according to their surveyweight.
>  The variable structure looks like this:
>  Q0001_02
>  Q0001_07
>  Q0002_02
>  Q0002_03
>  Q0002_07
>  etc.
>  Were the extension _0X indicates the year and the Prefix Qaaaa
>  indicates the question number, which is the same over the years.
>  Since I need the tables afterwards in an extrenal program (LaTex) all
>  the Variables should be proceed in the correct order.
>  The problem is, that not every question was asked in every year, that
>  I really need to change the  survey weight after every variable for
>  the new variable, depending on the extension. I tried a lot, but
>  couldn't get a proper solution.
>  For only one Variable the syntax should be as followed:
>  svyset Q1170_02   *this is the weight variable
>  svy:tab Q0001_02
>  I tried to build a loop based on this, but all my tries didn't work.
>  Maybe one of you has an idea. That would be great.

Stas Kolenikov, also found at
Small print: I use this email account for mailing lists only.
*   For searches and help try:
*   For searches and help try:

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