Dear Statalist,
I normally use _n within a by-group as the running counter within the group. Examples of this are option 1 and 2. However, it appears not to be working in option 3 as it should. It seems to me it should give same results as option 1 but it appears that the 'max' function is taking the running counter of the complete database. I include option 2 as to show this is not the case for other functions in egen.
Any ideas?
Thanks!
Francisco
I normally use _n within a by-group as the running counter within the group. Examples of this are option 1 and 2. However, it appears not to be working in option 3 as it should. It seems to me it should give same results as option 1 but it appears that the 'max' function is taking the running counter of the complete database. I include option 2 as to show this is not the case for other functions in egen.
Any ideas?
Code:
clear set obs 10 gen group=ceil(_n*2/_N) gen n=_n sort group n *Option 1 by group: gen n1=_n //Works as running counter within a by-group by group: egen o1=max(n1) *Option 2: by group: egen o2=mean(_n) //Works as running counter within a by-group *Option 3: by group: egen o3=max(_n) //Works as running counter within the complete dataset
HTML Code:
+--------------------------------+ | group n n1 o1 o2 o3 | |--------------------------------| 1. | 1 1 1 5 3 5 | 2. | 1 2 2 5 3 5 | 3. | 1 3 3 5 3 5 | 4. | 1 4 4 5 3 5 | 5. | 1 5 5 5 3 5 | 6. | 2 6 1 5 3 10 | 7. | 2 7 2 5 3 10 | 8. | 2 8 3 5 3 10 | 9. | 2 9 4 5 3 10 | 10. | 2 10 5 5 3 10 | +--------------------------------+
Thanks!
Francisco