Dear Raphael,
One way of approaching this is to use a combination of the -bysort- command and the explicit subscripting commands. For instance:
bysort id: gen nzero = 1 if count[_n - 2] == 0 & count[_n - 1] == 0 & count == 0
should identify the observations where there are three consecutive zeros for each person. (If it isn't quite what you want, a variation on this will do the trick.) Then
drop if nzero == 1
will exclude these observations from the dataset. Alternatively, something like
xtpoisson count if nzero != 1
(or whatever commands you are using) will keep all the observations in the dataset, but exclude them from the analysis. A very good description of subscripting within groups is given in the User's Guide in section 13.7.2, for Stata version 10.
Matt
[email protected]
-----Original Message-----
From: [email protected]
[mailto:[email protected]]On Behalf Of Raphael Fraser
Sent: Tuesday, 18 November 2008 1:26 PM
To: [email protected]
Subject: st: Data Management
I have longitudinal data with "id" as unique identifier, "timevar" as
the time variable and an outcome variable I call "count." The timevar
contains the elapsed time in minutes. I would like to exclude all
zeros where there are 3 or more consecutive zeros for each person. Can
anyone help?
id timevar count
1 1 56
1 2 2
1 3 0
1 4 0
1 5 0
1 6 0
1 7 5
1 8 0
1 9 0
2 1 230
2 2 0
2 3 0
2 4 19
Raphael
*
* 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/