[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

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:54:48 -0000 |

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> > >Reply-To: statalist@hsphsun2.harvard.edu > >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/

- Prev by Date:
**FW: Re: st: Generate a new variable [four firm concentration ratio]** - Next by Date:
**RE: st: Generate a new variable [four firm concentration ratio]** - Previous by thread:
**FW: Re: st: Generate a new variable [four firm concentration ratio]** - Next by thread:
**RE: st: Generate a new variable [four firm concentration ratio]** - Index(es):

© Copyright 1996–2017 StataCorp LLC | Terms of use | Privacy | Contact us | What's new | Site index |