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: Is there a way and a seed reason to "double" preserve data?
From
Nick Cox <[email protected]>
To
[email protected]
Subject
Re: st: Is there a way and a seed reason to "double" preserve data?
Date
Mon, 4 Apr 2011 17:27:37 +0100
Much depends on the size of dataset, your hardware set-up, which
Stata. You can waste more time trying to optimise code like this than
you will gain!
As you are concerned with speed, don't use -egen- to produce a new
variable which is a constant. Use -su, meanonly- and save r(mean). Or
get the mean in Mata.
Alternatively, do use -egen- with -by:-.
Nick
On Mon, Apr 4, 2011 at 5:21 PM, Oliver Jones
<[email protected]> wrote:
> Hi all,
>
> maybe the more important question is the one regarding the speed of
> preserve restore vs. save use.
> If it makes no difference then I can save my data and use it later.
>
> But if there is a improvement in execution time by using preserve and
> restore, then I would like know if there is a way to "double preserve"
> my data?
>
> I want to double preserve my data, to be able to make forecasts for
> different individuals and then save the forecasts in a mata matrix.
>
> In a two step forval construct I've got something like
>
> *********** Begin example **************
> sysuse xtline1, clear
> bysort person: gen int t = _n
> forval person = 1/3 {
> dis _n "Starting the analysis of Person `person'" _n
>
> preserve
>
> keep if person == `person'
>
> forval last_T = 360/365 { // here would follow the forecast code
> preserve
> egen mean_calories = mean(calories)
> keep in L/L
> lacal mean_person_`person'_days_`last_T' = mean_calories[1]
> restore
> }
> restore
> }
> *********** end example **************
>
*
* 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/