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: RE: how to store the statistics calculated in a loop as a table?
From
qing ye <[email protected]>
To
[email protected]
Subject
Re: st: RE: how to store the statistics calculated in a loop as a table?
Date
Thu, 8 Dec 2011 02:50:35 +0800
Hi, Nick
Thanks for the information.
Actually, I will want to calculate several statsitics using that loop.
in addition, I will want to based on the group+year, calculate some
statistics for the group-year over the next few periods. for example,
I have a group in 1990, then I want to calculate some statistcs for
stocks in the group over the next 12 months, so the code I provided
was my first attempt to do start with something simple.
I guess the collapse will not work if I want to include all the
statistics calculated for each group at each period in a panel-format
table?
So how do I exactly can store the statistics I calculated in a loop
into one cell of a table? I used to do this kind of analysis in VB,
which is strictforward, after each loop, I store the value into one
cell of an arrany, and I have no idea how do I do that in stata, not
even a clue on what kind of commends I should use.
Best
Qing
On 8 December 2011 02:39, Nick Cox <[email protected]> wrote:
> -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
> [email protected]
>
> 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 <[email protected]> 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 <[email protected]> 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
>>> trade_date_yearformat==`i' &FF_group_rank_0==`n'
>>> local s_EI=r(sum)
>>> quietly sum BE_t_1 if
>>> trade_date_yearformat==`i' &FF_group_rank_0==`n'
>>> 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/
*
* 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/