I haven't tested the solutions proposed in this thread, but it seems
possible that they may run afoul of the float problems discussed
earlier in the week: see <http://www.stata.com/statalist/archive/2009-06/msg00569.html
> and subsequent thread.
If I understand the bottom line of that discussion, the solution for
Dan's code would be simply to replace the appropriate line with:
replace `var' = . if float(`var') == float(0.0001)
I'm less certain if Kit's (otherwise clever and concise) code will
have float issues.
On Jun 19, 2009, at 1:37 PM, Dan Blanchette wrote:
ds, has(type numeric)
foreach var of varlist `r(varlist)' {
replace `var' = . if `var' == 0.0001
}
On Jun 19, 2009, at 2:31 PM, Kit Baum wrote:
ds, has(type numeric)
mvdecode `r(varlist)' , mv(0.0001)
On Jun 20, 2009, at 8:43 AM, Roy Wada wrote:
for var _all : cap replace X=. if X==0.0001
I'm not certain if this will work, as I cannot find a guide to the
syntax of the now deprecated -for- command: -help for- simply notes
that "for is an out-of-date command as of Stata 8" and recommends
using -foreach- (as in Dan's example) or -forvalues-. Also, while -
capture-ing all the failed replacements should work, I would expect it
to be slower than the above examples, particularly as the number of
non-numerical series in the OP's dataset increases. (And the above-
mentioned float issue likely still exists.)
HTH,
Mike
*
* 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/