# RE: st: Generate a new variable [four firm concentration ratio]

 From "ALICE DOBSON" To statalist@hsphsun2.harvard.edu Subject RE: st: Generate a new variable [four firm concentration ratio] Date Tue, 22 Nov 2005 08:11:33 -0500

Thanks a lot Nick.
This program calculates fourfirm concetration ratio in case where there are at least four data points available. Additionally, in cases where there is only one, two or three data point it returns a value of 100% for "firstfour". This is misleading because it gives a four firm concentration ratio as 100% whereas there are actually only one, two, or three firms. I would therefore like to have four different outcomes.
How can I then obtain four different outcomes: "firstfour", "firstthree", "firsttwo", and "firstone" in case of rows with (a) four or more firms, (b) three firms, (c) two, and (d) one firm respectively.

Best,
Alice

```From: "Nick Cox" <n.j.cox@durham.ac.uk>
To: <statalist@hsphsun2.harvard.edu>
Subject: RE: st: Generate a new variable [four firm concentration ratio]
Date: Mon, 21 Nov 2005 23:57:22 -0000

The line within the loop should be

replace firstfour = firstfour + s`i' if s`i' >= 0

Nick
n.j.cox@durham.ac.uk

> -----Original Message-----
> From: owner-statalist@hsphsun2.harvard.edu
> [mailto:owner-statalist@hsphsun2.harvard.edu]On Behalf Of Nick Cox
> Sent: 21 November 2005 23:55
> To: statalist@hsphsun2.harvard.edu
> Subject: RE: st: Generate a new variable [four firm
> concentration ratio]
>
>
> I think I follow some of this, although I cannot
> reproduce the capricious behaviour you seem
> to imply here. I would like to see a copy of
> (a subset of) your data that apparently produces
> this problem. Strictly, it implies a bug in Stata's
> -numlist- command, which does the sorting here.
>
> The help for -rowsort- indicates that missing values
> are allowed. If you sort seven values, some of which
> are missing, the missing values will not disappear!
> (Or did you expect they would?) Following usual Stata
> rules they will be sorted to high values.
>
> You are correct that this then will not be what you want.
>
> One way round this is to use -mvencode- to map
> missings to some negative number, say -999, presuming
> that is not a legitimate number of consumers. These
> will always sort lower than any legitimate number.
> Then the sum of the first four firms should trap
> any -999. However, if any of the first four firms
> is missing, and so mapped to -999, then the concentration
> ratio should presumably be 100%.
>
> drop s1-s7
> mvencode F?mt, mv(-999)
> rowsort F?_mt, gen(s1-s7) descend
>
> replace firstfour = 0
> forval i = 1/4 {
> 	replace firstfour = s`i' if s`i' >= 0
> }
> replace firstfour = 100 * firstfour / CONSUM_mt
>
> mvdecode F?mt, mv(-999)
>
> Nick
> n.j.cox@durham.ac.uk
>
> ALICE DOBSON
>
> > Thanks Nick. It works selectively as I am not getting
> > "firstfour" for all
> > rows.
> > This is probably because the rows have values for one to
> > seven firms and not
> > for all seven firms
> > Further, I checked the data editor and see that in such cases
> > where the data
> > is avaiable for less than seven firms the command arranges
> > the top four
> > values s1-s4 (arbitrarily) in columns for say s3-s6
> > Hence, I do not get firstfour for all such cases
>
> > >From: n j cox <n.j.cox@durham.ac.uk>
> > >To: statalist@hsphsun2.harvard.edu
> > >Subject: Re: st: Generate a new variable [four firm
> > concentration ratio]
> > >Date: Mon, 21 Nov 2005 21:31:19 +0000
> > >
> > >If the number of consumers is integer, then
> > >just install -rowsort- from SSC.
> > >
> > >rowsort F?_mt, gen(s1-s7) descend
> > >gen firstfour = 100 * (s1 + s2 + s3 + s4) / CONSUM_mt
> > >
> > >Nick
> > >n.j.cox@durham.ac.uk
> > >
> > >ALICE DOBSON
> > >
> > >I use stata 9.1
> > >
> > >I have an unbalanced panel data of the type:
> > >
> > >geographical region (m = 1..1154)
> > >year (t = 1..7)
> > >
> > >with the following variables:
> > >
> > >total number of consumers in each region (CONSUM_mt)
> > >total number of consumers of seven firms in each region
> > (F1_mt, F2_mt,
> > >F3_mt, F4_mt, F5_mt, F6_mt, F7_mt)
> > >
> > >
> > >I want to calculate the four firm concentration ratio for
> > each region,
> > >C4_mt, which is the proportion of the number of consumers of
> > top four firms
> > >to the total number of consumers in that region, in percentage
> > >
> > >Could anyone be kind enough to help me with this simple
> calculation?
> > >
> > >GEOGREGN YEAR CONSUM F1 F2 F3 F4 F5 F6 F7 C4
> > >M1 1969
> > >M1 1970
> > >M1 1971
> > >M1 1972
> > >M1 1973
> > >M1 1974
> > >M1 1975
> > >M2 1969
> > >M2 1970
> > >M2 1971
> > >M2 1972
> > >.
> > >.
>
> *
> *   For searches and help try:
> *   http://www.stata.com/support/faqs/res/findit.html
> *   http://www.stata.com/support/statalist/faq
> *   http://www.ats.ucla.edu/stat/stata/
>

*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
```
_________________________________________________________________
Is your PC infected? Get a FREE online computer virus scan from McAfeeŽ Security. http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963

*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/