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]

Re: st: forvalues


From   - <dimpol7@googlemail.com>
To   statalist@hsphsun2.harvard.edu
Subject   Re: st: forvalues
Date   Tue, 23 Oct 2012 14:15:03 +0100

Thank you for this,
it is working now using levelsof, as I wrote above, but I will try
your suggestion as well.

thanks again

On 23 October 2012 14:11, Nick Cox <njcoxstata@gmail.com> wrote:
> dimpol7 asked what he or she is doing wrong.
>
> First off, as already pointed out to dimpol7, we ask for full real
> names on Statalist. See my posting replying to dimpol7 on 12 October.
>
> Second off,
>
> forvalues i = 1/53 {
>         tabstat age if single=='i', by(sexcat) stats(mean sd n min max
> median p10 p25 p75 p90)
> }
>
> will fail if there are _any_ value of -single- in 1/53 for which there
> are no observations. Stata is disagreeing with you on that, but all my
> money is on Stata being right and you being wrong here.
>
> I suggest that you try
>
> di "`i'"
> capture noisily tabstat age if single=='i', by(sexcat) stats(mean sd n
> min max median p10 p25 p75 p90
>
> A line displaying which value this is going to be needed to
> distinguish the tables. -capture noisily- will proceed past any
> errors.
>
> Nick
>
>
> On Tue, Oct 23, 2012 at 1:14 PM, - <dimpol7@googlemail.com> wrote:
>> It still won't do it, it says "no observations", but there are
>> observations there...
>>
>> On 23 October 2012 13:09, Henrik Støvring <STOVRING@biostat.au.dk> wrote:
>>> Your accents are off. You need to replace 'i' with `i' - note the
>>> difference in the first accent.
>>>
>>> Best,
>>>
>>> Henrik
>>>
>>> On 10/23/2012 02:04 PM, - wrote:
>>>> hello all,
>>>> I'm trying to build a simple loop, and have looked at Help for
>>>> "foreach" and "forvalues", but can't get it to work. I just want to
>>>> set a variable i to take consecutive values from 1 to 53, so use
>>>> forvalues i=1/53, then give its value to a variable in my data called
>>>> "single" (refers to the number of samples for each person) which has
>>>> integer values ranging from 1 to 53, and create tables of statistics
>>>> for age in men and women. So there would be 53 tables of ages, one for
>>>> each number of samples, summarized by sex.
>>>> Haven't use loops in stata before, I write:
>>>>
>>>> forvalues i = 1/53 {
>>>>    2. tabstat age if(single=='i'), by(sexcat) stats(mean sd n min max
>>>> median p10 p25 p75 p90)
>>>>    3. }
>>>>
>>>> but the message is that 'i' is an invalid name. If I use
>>>> if(single==i), it says "i not found". Can anyone tell me what I'm
>>>> doing wrong?
>
> *
> *   For searches and help try:
> *   http://www.stata.com/help.cgi?search
> *   http://www.stata.com/support/faqs/resources/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/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/


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