Bookmark and Share

Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down on April 23, and its replacement, statalist.org is already up and running.


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

RE: st: How to count switches ?


From   "Martin Weiss" <martin.weiss1@gmx.de>
To   <statalist@hsphsun2.harvard.edu>
Subject   RE: st: How to count switches ?
Date   Sun, 27 Jun 2010 11:33:30 +0200

<>

With a panelvar present, -ssc d tsspell- reports the _spell variable as within the panelvar. I have added two lines at the end to let you report the overall number:

***********
clear*
set obs 25
gen byte time=_n
expand 2, gen(id)
gen byte myvar=runiform()<.7
tsset id time
tsspell myvar
l, noo sepby(id)

bys id: gen byte tag=_n==_N
egen mytotal=total(tag*_spell)

di in r "Overall # of spells: " mytotal[_N]
***********


HTH
Martin


-----Original Message-----
From: owner-statalist@hsphsun2.harvard.edu [mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of Ignacio Martinez
Sent: Sonntag, 27. Juni 2010 01:06
To: statalist@hsphsun2.harvard.edu
Subject: RE: st: How to count switches ?

Thanks!!
Now I understand much better what is going on. Only one more question.

Your example is for  only one individual. I have a panel and what I want
is the sum of the switches across individuals. So if individual A switch
between employed and unemployed 2 times and individual B switch 3 times
I want to get 5 as my result. How do you do that? If i do 

> su _spell, mean
> di in r "# of spells: " r(max)

I get 3 instead of 5 :-( .


Thanks for helping me.

-Ignacio


On Sun, 2010-06-27 at 00:38 +0200, Martin Weiss wrote:
> <>
> 
> So -ssc d tsspell- is user-written by Nick Cox.
> 
> 
> Try a simple example, and the meaning becomes clear. Everytime your variable changes, _spell is stepped up. So its maximum should be what you want:
> 
> ***********
> clear*
> set obs 25
> set seed 12543
> gen byte time=_n
> gen byte myvar=runiform()<.7
> tsset time
> tsspell myvar
> l, noo sepby(_spell)
> su _spell, mean
> di in r "# of spells: " r(max)
> ***********
> 
> 
> BTW, no attachments on Statalist...
> 
> 
> HTH
> Martin
> 
> -----Original Message-----
> From: owner-statalist@hsphsun2.harvard.edu [mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of Ignacio Martinez
> Sent: Sonntag, 27. Juni 2010 00:26
> To: statalist@hsphsun2.harvard.edu
> Subject: Re: st: How to count switches ?
> 
> Thanks a lot for the help. I need a little more help.
> I installed tsspell. When I do "tsspell status" it generates 3 new
> variables _spell, _seq, _end .
> I'm confuse about how can i get the total number of switches in my data
> set by using those variables.
> 
> Best,
> 
> -Ignacio
> 
> On Sat, 2010-06-26 at 15:25 -0400, Dmitriy Krichevskiy wrote:
> > There is -tsspell- that does this. (-findit tsspell-).
> > 
> > On 6/26/10, Ignacio Martinez <ignacio@virginia.edu> wrote:
> > > Hi I'm new in the list and I hope someone can help me.
> > >
> > > I would like to know how can I count switches in stata. I have the
> > > following variables: Year, ID, Employment status
> > > I want to generate a variable that ==1 if employment status in year t !=
> > > to employment status in year t-1 for each individual.
> > >
> > > Thanks a lot for the help.
> > >
> > > -Ignacio
> > >
> > 
> > 
> 
> 
> 
> *
> *   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/


*
*   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/


*
*   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/


© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index