May I suggest -tsspell- on SSC?
tsset code year
tsspell dept
etc. The help file is fairly detailed.
My guess is that you are best off ignoring
all missings on -dept-.
Also, see
http://www.stata.com/support/faqs/data/distinct.html
Nick
[email protected]
Katsuhide Isa
> I'm using Stata 8.
> I have a data set describing intra-organizational mobility
> patterns which contains variables such as code, year, dept,
> etc., where 'dept' is a categorical variable which denotes
> department code one belongs to.
> (See the list at the end of this e-mail for detailed data structure)
>
> To create a new variable which records the number of department
> changes, I executed the following:
>
> gen change = 0
> sort code year
> by code: gen dept_1 = dept[_n-1]
> by code: replace change = 1 if dept - dept_1 ~= 0 & /*
> */dept ~= . & dept_1 ~= .
> by code: egen num = sum(change)
>
> It seems to work well, except that missings seem to produce
> some odd results.
>
> Further, I'd like to create another new variable named 'variety'
> which records variety of departments that one experienced during
> his/her career.
> What makes things complicated is that 'dept' takes on more than
> 100 different values, so I can't come up with suitable codes for it..
>
> The desired result would be as follows:
>
>
> +----------------------------------------------------------------+
> | code year dept depart_1 change num
> variety |
>
> |----------------------------------------------------------------|
> 1. | 100001 63 80 . 0 1
> 2 |
> 2. | 100001 68 70 80 1 1
> 2 |
> 3. | 100002 63 . . 0 2
> 2 |
> 4. | 100002 68 60 . 0 2
> 2 |
> 5. | 100002 73 60 60 0 2
> 2 |
>
> |----------------------------------------------------------------|
> 6. | 100002 78 160 60 1 2
> 2 |
> 7. | 100002 83 2 160 1 2
> 2 |
> 8. | 100003 63 40 . 0 1
> 3 |
> 9. | 100003 68 . 40 0 1
> 3 |
> 10. | 100003 73 60 . 0 1
> 3 |
>
> |----------------------------------------------------------------|
> 11. | 100003 78 0 60 1 1
> 3 |
> 12. | 100004 63 10 . 0 1
> 2 |
> 13. | 100004 68 20 10 1 1
> 2 |
> 14. | 100004 73 . 20 0 1
> 2 |
> 15. | 100004 78 110 . 0 1
> 2 |
>
> |----------------------------------------------------------------|
> 16. | 100004 83 . 110 0 1
> 2 |
> 17. | 100004 83 . . 0 1
> 2 |
> 18. | 100005 63 60 . 0 2
> 3 |
> 19. | 100005 68 110 60 1 2
> 3 |
> 20. | 100005 73 7214 110 1 2
> 3 |
>
> |----------------------------------------------------------------|
> 21. | 100005 78 7214 7214 0 2
> 3 |
> 22. | 100005 83 7214 7214 0 2
> 3 |
> .....
>
> Is it possible to create variables like these by (possibly)
> using (or modifying) the codes above ?
>
*
* 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/