Line for the server...
True, but add -di in red _rc- and see whether it`s non-zero to get a grip on
what is going on inside the curly brackets...
HTH
Martin
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Steven Samuels
Sent: Wednesday, November 19, 2008 2:30 PM
To: [email protected]
Subject: Re: st: Loop over variables with svyset
Daniel:
It will probably be simpler to use a -capture- block:
capture {
statements to capture
}
Just be aware that captured statements, whether they produce errors
or not, show no output.
-Steve
> Daniel, try adding the -capture- prefix to the statements inside
> the -forvalues- braces
>
> -Steven
On Nov 19, 2008, at 5:35 AM, Daniel Schultz wrote:
> Hej Stas....
>
> this seemed to be a nice idea.....
> BUT....
> For this kind of loop I need again for every variable every year. But
> unfortunately I don't have Variables for every year. Often only for
> the year 2002 and 2007, but also 2004 and 2006...you see what I mean?
> That is the biggest problem with this kind of loop. I think I have to
> split the data set even if this means more manually work.
>
> Best
> Daniel
>
> 2008/11/18 Stas Kolenikov <[email protected]>:
>> switch the order of the cycles, then. First loop over the variables,
>> then over waves:
>>
>> forvalues k=1/999 {
>> if `k' < 100 local k 0`k'
>> if `k' < 10 local k 0`k'
>> forvalues year=1/9 {
>> * do whatever with variable Q`k'_0`year'
>> }
>> }
>>
>> On 11/18/08, Daniel Schultz <[email protected]> wrote:
>>> Hej Stas......
>>> Your suggestion looked quite nice....
>>> but when I was testing it....it 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.
>>> Best
>>>
>>> Daniel
>>>
>>>
>>>
>>> ---------- Forwarded message ----------
>>> From: Stas Kolenikov <[email protected]>
>>> Date: 2008/11/18
>>> Subject: Re: st: Loop over variables with svyset
>>> To: [email protected]
>>>
>>>
>>> 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 <[email protected]> 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 http://stas.kolenikov.name
>>> Small print: I use this email account for mailing lists only.
>>>
>>> *
>>> * 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/
>>>
>>
>>
>> --
>> Stas Kolenikov, also found at http://stas.kolenikov.name
>> Small print: I use this email account for mailing lists only.
>> *
>> * 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/
*
* 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/