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

st: Re: How to detect the change of i over t?

From   "Martin Weiss" <[email protected]>
To   <[email protected]>
Subject   st: Re: How to detect the change of i over t?
Date   Sun, 8 Feb 2009 10:52:24 +0100


See NJC`s FAQ:

set obs 20
egen float id = seq(), from(1) to(4) block(5)
egen float t = seq(), from(1) to(5) block(1)
g x=cond(runiform()<=0.5,0,1)
g byte become=.
bys id: replace become=cond(x[_n-1]==0 & x[_n]==1,1,0)
list, noo sepby(id)

----- Original Message ----- From: "Benson Limann" <[email protected]>
To: "stata" <[email protected]>
Sent: Sunday, February 08, 2009 5:46 AM
Subject: st: How to detect the change of i over t?

Hi all:

I am using an unbalanced panel dataset. i is ID and t is time. Every (i,t) has a characteristic x=0 or 1.

I want to generate a variable called "become" such that for each (i,t):

become=1, if x=0 at time t-1, and x=1 at time t
become=0, otherwise

How to write it? My primary concern is how to deal with the first t for each i--this observation does not have t-1.

Any suggestion would be greatly appreciated.


Windows Live™: E-mail. Chat. Share. Get more ways to connect.
*   For searches and help try:

*   For searches and help try:

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