I don't understand the match between your problem
and your solution.
Sounds to me like
replace var1 = . if status == "Delisted"
but I'm quite likely misunderstanding.
Nick
[email protected]
Thomas Erdmann
> I am working with some variables that or "wrong" in the sense
> that if one
> share was taken off the market (i.e. the company was
> dissolved), the last
> value of the variable is repeated instead of containing
> missing values.
>
> e.g.
>
> Status Year Var1
> Listed 1991 0.9
> Listed 1992 0.95
> Listed 1993 0.93
> Delisted 1994 0.93
> Delisted 1995 0.93
> ..
> Delisted 2006 0.93 (value is always repeated up to present time)
>
> Whereas years 1994-2006 should contain missing values. I came
> up with this
> cleaning process:
>
> foreach X of varlist var1 var2 var3 {
> generate `X'new=`X'
> replace `X'new=. if `X'==L.`X'
> replace `X'=`X'new
> drop `X'new
> }
>
> Which is okay, but also sets the value to missing if one
> observation for a
> listed company repeats, so it also deletes observations that
> would be fine.
>
> Any suggestions on how I can only replace the "wrong" values?
*
* 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/