Wrong way round: previous non-missing value trumps following non-missing
value.
Nick
[email protected]
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Nick Cox
Sent: 30 June 2008 17:01
To: [email protected]
Subject: st: RE: replace missing in panel data
This is discussed in an FAQ:
FAQ . . . . . . . . . . . . . . . . . . . . . . . Replacing missing
values
2/03 How can I replace missing values with previous or
following nonmissing values?
http://www.stata.com/support/faqs/data/missing.html
The answer is to use -missing()- so that you pick up string missings as
well as numeric missings.
By the way, I don't understand the motivation for the following rule.
Suppose a variable is missing at time 42 and present at times 41 and 43.
Your rule gives the priority to time 43. That seems arbitrary at best.
(I assume a sensible sort order, which is not explicit in your code.)
Also, your loop won't do what you want. Instead of
foreach var in a1-z1 {
you need
foreach var of var a1-z1 {
Nick
[email protected]
Dherani, Mukesh
I have duplicates (based on ID and date) in my panel dataset along with
missing information for many variables. I want to replace missing
information with either previous [_n-1] or following [_n+1] row. The
problem is that the variables are not all numeric, some of them are
string. I wonder is there any way I can replace both types of variables
in one go?
foreach var in a1-z1{
replace `var'=`var'[_n-1] if `var'==. & duplicate==1
replace `var'=`var'[_n+1] if `var'==. & duplicate==1
}
*
* 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/
*
* 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/