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

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

From |
Brandon Olszewski <olszewski.brandon@gmail.com> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: How to combine variables in network data - can I loop over stubs? |

Date |
Wed, 20 Apr 2011 16:58:23 -0700 |

Thanks for the positive and prompt response, Nick! I'll crunch on that tonight and try and make it work. Thanks for the help reference, too. And yes, the <0, 2, 3> thing was a typo. My apologies, as I know that is not good etiquette. Cheers, Brandon On Wed, Apr 20, 2011 at 4:45 PM, Nick Cox <njcoxstata@gmail.com> wrote: > That may be your ideal syntax but the documentation for -foreach- is > clear. There is no such legal form. > > foreach stub in AAA BBB { > ... > } > > is perfectly legal. > > To get a list of all such stubs, you could try: > > unab stubs : *_0 > local stubs : subinstr local stubs "_0" "", all > > See http://www.stata.com/support/faqs/data/reshape3.html for explanation. > > You can then go > > foreach stub of local stubs { > ... > } > > In short, good news: you don't need a new syntax. Existing syntaxes > can be adopted. > > Your mapping 0, 1, 2 -> 0, 2, 3 seems a bit strange, but I assume > that's a typo or a side-issue. > > Nick > > On Thu, Apr 21, 2011 at 12:23 AM, Brandon Olszewski > <olszewski.brandon@gmail.com> wrote: > >> I have a -wide- social network data set that needs some cleaning. It >> contains about 40 different projects, here named AAA, BBB, CCC, etc. >> Each project is connected to every other project at some level, 0 = >> “no familiarity”, 1 = “familiar”, and 2 = “works with a lot”. Rows >> represent projects, and columns represent the level of familiarity a >> project has with others. Here is what the data look like, then: >> >> project AAA_0 AAA_1 AAA_2 BBB_0 BBB_1 BBB_2 >> AAA 1 >> BBB 0 >> Etc. >> >> In the above example, project AAA knows B at a level 1 (familiar), and >> project BBB reports not knowing project AAA (at a level 0). >> >> I want to create variables (total_AAA, total_BBB, etc.) that combine >> columns with the same stub (“AAA”, “BBB”, etc.) so that one new column >> represents the three old columns. The new column would contain a value >> (0, 1, or 2) that was previously represented in wide format across >> three columns. Searching the statalist, the following post is the >> closest I found: >> http://www.stata.com/statalist/archive/2007-03/msg00234.html. >> >> I’m thinking of using a -foreach- command to do it, but I think I >> would need to loop the command over a stub, rather than a varname. I >> also know how to use -renpfix- to change stub names. In my ideal >> world, a solution would look like: >>>>> >> foreach stub of stubname AAA BBB{ >> gen total`stub’=0 >> replace total`stub’=2 if `stub’_1==1 >> replace total`stub’=3 if `stub’_2==2 >> } >> keep project total* >>>>> >> >> I've racked my brain with -reshape- and some other commands I know, >> but the logic eludes me and I am still unsuccessful. Can anyone help >> me? >> > > * > * 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/

**References**:**st: How to combine variables in network data - can I loop over stubs?***From:*Brandon Olszewski <olszewski.brandon@gmail.com>

**Re: st: How to combine variables in network data - can I loop over stubs?***From:*Nick Cox <njcoxstata@gmail.com>

- Prev by Date:
**Re: st: How to combine variables in network data - can I loop over stubs?** - Next by Date:
**Re: st: glm for binomial regression with** - Previous by thread:
**Re: st: How to combine variables in network data - can I loop over stubs?** - Next by thread:
**st: Confusion over locals?** - Index(es):