Bookmark and Share

Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down at the end of May, and its replacement, statalist.org is already up and running.


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

Re: st: Ordering a varlist according to "parent" and "child" variables


From   Matthew White <mwhite@poverty-action.org>
To   statalist@hsphsun2.harvard.edu
Subject   Re: st: Ordering a varlist according to "parent" and "child" variables
Date   Mon, 19 Dec 2011 11:28:54 -0500

Hi Antonis,

I think your setup so far seems fine, though note that the names of
-local-s can be at most 31 characters, so since you're using 7 for
"childof", you'll have trouble with variables whose names are more
than 24 characters. How about a loop like this:

ds
foreach var in `r(varlist)' {
    if "`childof`var''" != "" order `child`var'', after(`var')
}

Best,
Matt

On Mon, Dec 19, 2011 at 11:15 AM, A Loumiotis
<antonis.loumiotis@gmail.com> wrote:
> Hi
>
> I'm working with survey data where the variables are related in the
> following way.  There are "parent" and "child" variables where each
> "child" variable can have at most one "parent" variable.  What I would
> like to do is to find a general way to reorder the initial varlist in
> a way that the "child" variables follow right after the "parent"
> variables.
>
> Consider the following simplified example of a survey dataset with 11
> variables var1-var11.
>
> var1 has three "child" variables var2-var4
> var3 has two "child" variables var5-var6
> var5 has two "child" variables var8-var9
> var7 has one "child" variable var11
>
> What I would like to do is to find a (general) way to reorder the
> initial varlist var1-var11 as follows:
>
> var1 var2 var3 var5 var8 var9 var6 var4 var7 var11 var10
>
> What I have done up to now is to create locals for each variable that
> contains the child variables if any.  For the simplified example these
> locals are defined as follows:
>
> local childofvar1 var2 var3 var4
> local childofvar2
> local childofvar3 var5 var6
> local childofvar4
> local childofvar5 var8 var9
> local childofvar6
> local childofvar7 var11
> local childofvar8
> local childofvar9
> local childofvar10
> local childofvar11
>
> I've tried to use loops to generate the ordered varlist but I'm not
> successful.  Any help will be greatly appreciated!!!
>
> Antonis
>
> *
> *   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/



-- 
Matthew White
Data Coordinator
Innovations for Poverty Action
101 Whitney Avenue, New Haven, CT 06510 USA
+1 434-305-9861
www.poverty-action.org

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


© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index