Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: st: forvalues
From
- <[email protected]>
To
[email protected]
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 <[email protected]> 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, - <[email protected]> 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 <[email protected]> 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/