Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.

# RE: st: RE: how to store the statistics calculated in a loop as a table?

 From Nick Cox To "'statalist@hsphsun2.harvard.edu'" Subject RE: st: RE: how to store the statistics calculated in a loop as a table? Date Wed, 7 Dec 2011 18:39:12 +0000

```-collapse- in particular should mean that you do not need to loop at all.

You can calculate all the ratios of sums by a single -generate-.

collapse (sum) s_EI = EI_t (sum) s_BE = BE_t_1 if inrange(trade_date_yearformat, 1990, 2010), by(FF_group_rank_0 trade_date_yearformat)

gen mean_EI_BE = s_EI / s_BE

Nick
n.j.cox@durham.ac.uk

qing ye

hi, I have checked collapse and tabstat, still no ideas about how to
use it combined with a loop?

In the loop, everytime, I calculated one mean_EI_BE, how do I write
this one result into one cell of a table where the columns and rows of
the table reprsents different steps in a looping?

On 8 December 2011 02:08, qing ye <yeqing1013@gmail.com> wrote:

> Thanks for the quick reply.
>
> I will  check the help file for collapse and tabstat
>
> the group takes the value of 1-6, and the varible FF_group_rank_0
> takes values of 1-6 stating six groups, so I want to loop for each
> group, I guess I need to use forvalues rather than foreach?

On 8 December 2011 02:00, Nick Cox <n.j.cox@durham.ac.uk> wrote:

>> I'd look at -collapse- and/or -tabstat-.
>>
>> In any case, your loop
>>
>>      foreach group of varlist FF_group_rank_0 {
>>
>>        }
>>
>> will do nothing as `group' is never referred to inside the loop. That probably doesn't matter, but it shows some confusion about what -foreach- does.

qing ye

>> Do any of you know how to report the results calculated after the loop
>> as tables??
>>
>> forvalues i=1990 (1)2010 {
>>      foreach group of varlist FF_group_rank_0 {
>>              forvalues n=1(1)6{
>>
>>
>>                              quietly sum  EI_t if
>>                              local s_EI=r(sum)
>>                              quietly sum  BE_t_1 if
>>                              local s_BE=r(sum)
>>                              local mean_EI_BE=`s_EI'/`s_BE'
>>
>>
>>              }
>>              }
>>              }
>>
>> I wanted to have the mean_EI_BE I calculated in the loops reported as a table
>>
>> something like the following:
>>
>> year      group1 group2 group3 group4 group5 group6
>>
>> 1990       x           x        x
>> 1991       x           x        x
>> 1992       x           x        x
>> 1993       x           x        x
>> ....
>>
>>
>>
>> How do I do this? Do I need to use matrix commends to save the
>> mean_EI_BE I calculated each time or do I need to generate some
>> variables before the loop and store the mean_EI_BE in those variables?

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