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]
Re: st: Re: Group classification
From
Mario Jose <[email protected]>
To
[email protected]
Subject
Re: st: Re: Group classification
Date
Sun, 14 Jul 2013 15:47:27 +0100
Dear Joseph,
I have implemented your suggestion, and the strategy did what wanted.
Thank you for your helpful suggestion.
Best,
Mario
2013/7/14 Joseph Coveney <[email protected]>:
> 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/
*
* 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/