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

From |
"Michael I. Lichter" <mlichter@buffalo.edu> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: RE: Build groups with the same first two numbers of SIC |

Date |
Thu, 19 Mar 2009 13:22:42 -0400 |

gen sicgroup = int(sic/100) -ml Nick Cox wrote:

I can't see any reason whatsoever here for your strategy of separating into smaller datasets and then putting them together.I'll guess that -sic- is numeric.You need a variable, say -sicgroup-, that you put together the hard waygen sicgroup = 2replace sicgroup = 1 if sic == 3674replace sicgroup = 3 if sic == 3861replace sicgroup = 4 if sic == 4213Then it's justegen mean = mean(ret), by(sicgroup date)Nickn.j.cox@durham.ac.ukHua Pan I have a list of firms with four digit sic code, permno (identify Nr. for firms), date and return and wish to get daily mean return within the group, which has the same first two numbers of SIC code. My Dataset look like this:sic permno date ret…3674 10012 5.Jan.2004 10012 6.Jan.2004 10012 7.Jan.2004 3674 10259 5.Jan.2004 10259 6.Jan.2004 10259 7.Jan.20043674 1029910299102993674 1030210302 10302 ----------------------------------------------------------------- 3714 10667 10667 10667 ------------------------------------------------------------------ 3728 10145 10145 10145 ------------------------------------------------------------------ 3861 10163 10163 10163 ------------------------------------------------------------------ 4213 10379 10379 10379 4213 10649 10649 10649At first I want to build several groups. Firms within each group have the same character: the first two numbers of their SIC codes are identical. For the example abovesic permnoGroup1: 3674 10012, 10259, 10299, 10302 Group2: 3714, 3728 10667, 10145 Group3: 3861 10163 Group4: 4213 10379, 10649 Then I wish to get mean daily return for each group.So I just tried to separate the big dataset into several sub dataset, and calculate daily mean return for each of them. Then I get the sub datasets together with “append”. For the first step, I did:. local n=3600 . while `n' <4300 { 2. use "D:\sic.dta", clear 3. keep if sic >=`n' & sic < `n'+1004. by date, sort: egen meanret=mean(ret)5. save "D:\ph\sic\sic_`n'.dta"6. local n=`n'+100 7. }It is successful for 36xx, 37xx. But when `n’== 3900, all observations in the complete file “D:\sic.dta" are deleted, because none of them meet the requirement: sic>=3900 & sic < 4000, so there is an error:(y observations deleted) __000001 not found y is the number of all the observations in complete dataset. There are a huge number of observations, so I can’t do it one by one. Has anyone here an idea to solve this problem? Or some easier methods to generate such groups (I’ve also tried, but failed to get it ), so I can get the daily mean return with: by group date, sort: egen meanret=mean(ret) Btw, I’m using stata 10. * * 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/

-- Michael I. Lichter, Ph.D. Research Assistant Professor & NRSA Fellow UB Department of Family Medicine / Primary Care Research Institute UB Clinical Center, 462 Grider Street, Buffalo, NY 14215 Office: CC 125 / Phone: 716-898-4751 / E-Mail: mlichter@buffalo.edu * * 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/

**Follow-Ups**:**RE: st: RE: Build groups with the same first two numbers of SIC***From:*"Nick Cox" <n.j.cox@durham.ac.uk>

**References**:**st: Build groups with the same first two numbers of SIC***From:*"Hua Pan" <panhua@gmx.de>

**st: RE: Build groups with the same first two numbers of SIC***From:*"Nick Cox" <n.j.cox@durham.ac.uk>

- Prev by Date:
**RE: st: RE: Build groups with the same first two numbers of SIC** - Next by Date:
**Re: st: RE: normal distributions** - Previous by thread:
**st: RE: Build groups with the same first two numbers of SIC** - Next by thread:
**RE: st: RE: Build groups with the same first two numbers of SIC** - Index(es):

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