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: Looping over a range of observations
From
Francesca Colantuoni <[email protected]>
To
[email protected]
Subject
Re: st: Looping over a range of observations
Date
Fri, 23 Aug 2013 13:36:18 -0400
Exactly!
I actually had to do very little to your code, which works like a charm!
egen store1=group(store)
forvalues i=1/80 {
local first = 12 * `i' - 11
local last = `first' + 11
histogram price1 if inrange(store1, `first', `last'), by(store1)
graph save "graph`i'", replace
}
I double checked and I have a little over 800 stores.
Thank you so much! you saved me a lot of time!
Cheers,
Francesca
On Fri, Aug 23, 2013 at 1:30 PM, Nick Cox <[email protected]> wrote:
> If identifiers are untidy then
>
> egen store2 = group(store), label
>
> will tidy them up. The result of -store2- is guaranteed to run 1, 2, 3, ....
> Nick
> [email protected]
>
>
> On 23 August 2013 18:18, Francesca Colantuoni <[email protected]> wrote:
>> Thank you!
>> I don't have exactly 900 stores and I have to modify your code a
>> little bit, but I was very far and this is extremely helpful. I also
>> think that 12 would be more convenient.
>> I'll keep you posted, thanks again Nick.
>>
>> Francesca
>>
>> On Fri, Aug 23, 2013 at 12:57 PM, Nick Cox <[email protected]> wrote:
>>> Assuming your stores have identifiers 1..900 then
>>>
>>> forvalues i=1/90 {
>>> local first = 10 * `i' - 9
>>> local last = `first' + 9
>>> histogram price1 if inrange(store, `first', `Iast'), by(store)
>>> graph save "graph`i'", replace
>>> }
>>>
>>> My guess is that you would find 12 or 16 graphs convenient, but the
>>> arithmetic is easy to modify.
>>>
>>> Nick
>>> [email protected]
>>>
>>>
>>> On 23 August 2013 17:48, Francesca Colantuoni <[email protected]> wrote:
>>>> Hello Statalist!
>>>> I am working with a panel data set. I would like to create and save
>>>> graphs that show
>>>> histograms of a variable (price1) per each store in the data set. I
>>>> have many stores (900), therefore if I do:
>>>>
>>>> histogram price1, by (store)
>>>>
>>>> each histogram would be microscopic and I would not be able to see anything.
>>>>
>>>> So, I tried with:
>>>>
>>>> histogram price1 in 1/2120, by (store)
>>>>
>>>> which allows me to visualize histograms for the first 10 stores only,
>>>> and this works way better.
>>>>
>>>> Now, though, I would like to create a loop that increments the range
>>>> of observations and creates a number of graphs containing 10
>>>> histograms each.
>>>>
>>>> I was trying with something like:
>>>>
>>>> forvalues i=1/2120 {
>>>> histogram price1 in `i', by(store)
>>>> graph save graph "graph1.gph", replace
>>>> }
>>>>
>>>> Of course I need to nest the loop to update the graphs and I still
>>>> need to increment the range of observations, but for the moment, I
>>>> would like to get some help to figure out the first part, because
>>>> even if the code runs no problem, the graph I get is not what I want
>>>> (it's only one histogram with one bar).
>>>>
>>>> Kindest Regards,
>>>>
>>>> Francesca
>>>> *
>>>> * 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/
>> *
>> * 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/
*
* 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/