Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

RE: st: Setting a missing value in a generic context


From   "Nick Cox" <n.j.cox@durham.ac.uk>
To   <statalist@hsphsun2.harvard.edu>
Subject   RE: st: Setting a missing value in a generic context
Date   Tue, 8 Mar 2005 11:07:35 -0000

Note that the -capture- can eat other 
errors too, most obviously that `v' 
holds an illegal variable name or that 
`v' doesn't exist as a variable. However, 
the obvious retort to that is to ensure 
this code is used in a context in which 
`v' does pick up the name of an existing variable. 

Nick 
n.j.cox@durham.ac.uk 

Seb Buechte
 
> What I suggest is certainly not elegant yet it is simple and 
> should work, too:
> 
> capture replace `v'=.
> capture replace `v'=""
 
Nick Cox 

> > It would seem that there is no generic
> > object or function to do what you want.
> > 
> > As you know, -missing()- returns true
> > or false to "is this missing?".
> > 
> > But your code could presumably be
> > condensed to
> > 
> > local typ: type `v'
> > local missvalue = cond(substr("`typ'", 1, 3) == "str", `""""', ".")
> > replace `v' = `missvalue'
> > 
> > and even to
> > 
> > local missvalue = cond(substr("`: type `v''", 1, 3) == 
> "str", `""""', ".")
> > replace `v' = `missvalue'
> > 
> > without, however, being quite as elegant
> > as one might wish.
 
David Kantor
 
> > > If you are interested, I have used similar code in a slightly
> > > different
> > > way, which enables either -replace- or -post- (or both):
> > >
> > > local typ: type `v'
> > > if substr("`typ'", 1, 3) == "str" {
> > >   local missvalue = `""""'
> > > }
> > > else {
> > >   local missvalue = "."
> > > }
> > >
> > > ...
> > > replace `v' = `missvalue'
> > >
> > > or:
> > >
> > > postfile postname `typ' var1 ...
> > > ...
> > > post postname  (`missvalue') ...

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



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