Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
From | Antoine Terracol <Antoine.Terracol@univ-paris1.fr> |
To | statalist@hsphsun2.harvard.edu |
Subject | Re: st: AW: RE: Number of a subset of variables in local |
Date | Thu, 19 Aug 2010 16:02:41 +0200 |
OK, in fact, with lists larger than 37 names, both the following work: local mycount1: list sizeof myvars local mycount2: word count myvars but local mycount3=wordcount("`myvars'") will byte -------------------------------------- clear* forv i=1/100{ gen name`i'=. } unab myvars: name* local mycount1: list sizeof myvars local mycount2:word count(`"`myvars'"') local mycount3=wordcount("`myvars'") di `mycount1' di "`mycount2'" di "`mycount3'" ----------------------------------------- Antoine On 19/08/2010 15:54, Antoine Terracol wrote:
Right, had forgotten about that (though I've been beaten more than once...) So I guess the correct 2-liner would be: unab myvars : name* local mycount: list sizeof myvars Antoine On 19/08/2010 15:45, Martin Weiss wrote:<> Also, Sven, you want to be extra careful when applying both solutions to a large project, i.e. many members of the -varlist- "name*": ************* clear* forv i=1/100{ gen name`i'=. } unab myvars1: name* local mycount1=wordcount("`myvars1'") qui d name*, varlist *local myvars2 `r(varlist)' local myvars2 =r(varlist) local mycount2: list sizeof myvars2 ma di di in r `mycount1' ", " `mycount2' ************* If you comment in the line - local myvars2 `r(varlist)'- and -consequently- comment out the line below it, you will get the correct result "100" for -local- "mycount2". See NJC`s http://www.stata-journal.com/article.html?article=pr0045 for explanations... HTH Martin -----Ursprüngliche Nachricht----- Von: owner-statalist@hsphsun2.harvard.edu [mailto:owner-statalist@hsphsun2.harvard.edu] Im Auftrag von Trelle Sven Gesendet: Donnerstag, 19. August 2010 15:27 An: statalist@hsphsun2.harvard.edu Betreff: st: RE: Number of a subset of variables in local Thanks to Martin and Antoine, that was quick. Both solutions work fine (Antoine's is two lines though). Thread closed. Sven Two line solution: unab myvars : name* local mycount=wordcount("`myvars'") Three line solution: d name*, varlist local myvars=r(varlist) local mycount: list sizeof myvars * * 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/
-- Ce message a ete verifie par MailScanner pour des virus ou des polluriels et rien de suspect n'a ete trouve. * * 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/