Notice: On March 31, it was **announced** that Statalist is moving from an email list to a **forum**. The old list will shut down at the end of May, and its replacement, **statalist.org** is already up and running.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

From |
"Martin Weiss" <martin.weiss1@gmx.de> |

To |
<statalist@hsphsun2.harvard.edu> |

Subject |
AW: st: findname question |

Date |
Tue, 6 Apr 2010 15:01:38 +0200 |

<> Let`s add that -ssc d findname- is a user-written command by Nick Cox, and a very recent addition to ssc. If Eduardo wants to -replace- all missings with zero, regardless of variable type, he can of course say: ************* clear* set obs 10 gen x=1 replace x=. in 2/3 gen y=2 gen z=3 replace z=. in 3/5 foreach var of varlist _all{ di in r "Now at variable `var'" replace `var'=0 if `var'==. } ************* HTH Martin -----Ursprüngliche Nachricht----- Von: owner-statalist@hsphsun2.harvard.edu [mailto:owner-statalist@hsphsun2.harvard.edu] Im Auftrag von Neil Shephard Gesendet: Dienstag, 6. April 2010 14:51 An: statalist@hsphsun2.harvard.edu Betreff: Re: st: findname question On Tue, Apr 6, 2010 at 12:13 PM, Eduardo Nunez <enunezb@gmail.com> wrote: > Dear statalisters, > > I had a dataset where binary variables (1/0) were presented as (1/.); > I tried to use findname to identify those variables, > in order to replace missing values with zeroes. > ---------------------------------------------------------------------------- --------------------------- > > findname, all(@==1|@==.) local(varname) varwidth(30) > foreach varname of varlist `varname' { > replace `varname'=0 if `varname'==. > } > > ---------------------------------------------------------------------------- --------------------------- > However it seems that the name of these variables weren't stored in a > local macro `varname'. > Is it that what the option local(macname) is supposed to do? > I've never used -findname- before, but you've maybe made a mistake by using the same name for the local macro in your loop as you did for the one you are storing the variables that match in your call to -findname-. Try the following... findname, all(@==1|@==.) local(varname) varwidth(30) di "`varname'" // Check that there are some variables that match your criteria! foreach x of varlist `varname' { replace `x'=0 if `x'==. } Neil -- "... no scientific worker has a fixed level of significance at which from year to year, and in all circumstances, he rejects hypotheses; he rather gives his mind to each particular case in the light of his evidence and his ideas." - Sir Ronald A. Fisher (1956) Email - nshephard@gmail.com Website - http://slack.ser.man.ac.uk/ Photos - http://www.flickr.com/photos/slackline/ * * 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/

**References**:**st: findname question***From:*Eduardo Nunez <enunezb@gmail.com>

**Re: st: findname question***From:*Neil Shephard <nshephard@gmail.com>

- Prev by Date:
**Re: st: findname question** - Next by Date:
**st: Using if in list of r(...)** - Previous by thread:
**Re: st: findname question** - Next by thread:
**st: Using if in list of r(...)** - Index(es):