Bookmark and Share

Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down on April 23, and its replacement, statalist.org is already up and running.


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

AW: st: AW: RE: Number of a subset of variables in local


From   "Martin Weiss" <martin.weiss1@gmx.de>
To   <statalist@hsphsun2.harvard.edu>
Subject   AW: st: AW: RE: Number of a subset of variables in local
Date   Thu, 19 Aug 2010 16:26:30 +0200

<> 

Sorry about that, Antoine, I never meant to spoil your vacation planning,
but a word of warning appeared appropriate for Sven. In fact, blowing up a
problem by the factor of 100 to test the stability of its solution is always
a good idea. -help limits- is an underappreciated resource, IMHO.


So several issues got mixed up in our posts, and I am not in a position to
disentagle them, but I know there is a very prominent lister who will clear
up the mess... The -length of string in string expression: 244- in -h
limits- is central to this enterprise, as is NJC`s Stata tip cited before.
That much I do know...




HTH
Martin


-----Ursprüngliche Nachricht-----
Von: owner-statalist@hsphsun2.harvard.edu
[mailto:owner-statalist@hsphsun2.harvard.edu] Im Auftrag von Antoine
Terracol
Gesendet: Donnerstag, 19. August 2010 16:08
An: statalist@hsphsun2.harvard.edu
Betreff: Re: st: AW: RE: Number of a subset of variables in local

<>

I need to take some additional vacations...

the correct syntax for the second solution is of course

local mycount2: word count `myvars'

and not

local mycount2: word count myvars

or

local mycount2:word count(`"`myvars'"')




On 19/08/2010 16:02, Antoine Terracol wrote:
> 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 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/


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


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