Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
From | "Joseph Coveney" <stajc2@gmail.com> |
To | <statalist@hsphsun2.harvard.edu> |
Subject | st: Re: Group classification |
Date | Sun, 14 Jul 2013 21:27:36 +0900 |
Mario Jose wrote: I have a dataset with foreign subsidiaries over a period of time. Each subsidiary is owned by an identified parent company. For each year, there are parent companies with subs in a set of countries y1,.., yn and parents with subs in a different set of companies x1, ..., xm. There are also parent companies with subs in both set of countries. I would like to allocate 0,1 to observations according to whether or not the respective parent has subs in the countries x1,..., xm. For instance, if a parent company has subs in y1, y2, y6 I want to allocate 1 to all these observations, if another parent company has subs in countries y1, y2 and x5 I want to allocate 0 to all subs of that parent (because the parent has a subs in country x5). Any suggestion on how to do this? I will be grateful for any help. If I understand what you're trying to do, then it would be something like generating an indicator variable based either upon an -inlist()- or a -foreach- loop, and then using -bysort . . . egen-. You'd use -inlist()- if the list of countries is short enough, and a -foreach- loop otherwise. Something like that below might be able to give you an idea where to start. Joseph Coveney . input str1 parent str2 subsidiary str2 country parent subsidi~y country 1. A AA y1 2. A AB y2 3. A AC y6 4. B BA y1 5. B BB y2 6. B BC x5 7. end . . generate byte in_an_x = 0 . foreach country in "x1" "x2" "x3" "x4" "x5" "x6" "xm" { 2. quietly replace in_an_x = 1 if country == "`country'" 3. } . bysort parent (subsidiary): egen byte allocate = max(in_an_x) . quietly replace allocate = !allocate . . list, noobs sepby(parent) abbreviate(20) +----------------------------------------------------+ | parent subsidiary country in_an_x allocate | |----------------------------------------------------| | A AA y1 0 1 | | A AB y2 0 1 | | A AC y6 0 1 | |----------------------------------------------------| | B BA y1 0 0 | | B BB y2 0 0 | | B BC x5 1 0 | +----------------------------------------------------+ . . exit end of do-file * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/faqs/resources/statalist-faq/ * http://www.ats.ucla.edu/stat/stata/