[R] Grouping commands so that variablas are removed automatically - like functions
Rainer M Krug
Rainer at krugs.de
Mon Jan 20 14:51:59 CET 2014
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 01/20/14, 14:27 , jim holtman wrote:
> Check out the use of the 'local' function:
True - have completely forgotten the "local" function.
Thanks,
Rainer
>
>
>> gc()
> used (Mb) gc trigger (Mb) max used (Mb) Ncells 199420 10.7
> 407500 21.8 350000 18.7 Vcells 308004 2.4 786432 6.0
> 786424 6.0
>> result <- local({
> + a <- rnorm(1000000) # big objects + b <- rnorm(1000000)
> + mean(a + b) # return value + })
>>
>> result
> [1] 0.0001819203
>> gc()
> used (Mb) gc trigger (Mb) max used (Mb) Ncells 199666 10.7
> 407500 21.8 350000 18.7 Vcells 308780 2.4 2975200 22.7
> 3710863 28.4
>>
>
> Jim Holtman Data Munger Guru
>
> What is the problem that you are trying to solve? Tell me what you
> want to do, not how you want to do it.
>
>
> On Mon, Jan 20, 2014 at 8:12 AM, Rainer M Krug <Rainer at krugs.de>
> wrote: Hi
>
> I would like to group commands, so that after a group of commands
> has been executed, the variables defined in that group are
> automatically deleted.
>
> My reasoning: I have a longer sript which is used to load data, do
> analysis and plot graphs, all part of a document (in org-mode /
> emacs).
>
> I have several datasets which are loaded, and each one is quite
> big. So after doing one part of the job (e.g. analysing the data
> and storing the results) I want to delete all variables used to
> free space and to avoid having these variables being used in the
> next block and still having the old (for this block invalid)
> values.
>
> I can't use rm(list=ls()) as I have some variables as "constants"
> which do not change over the whole document and also some
> functions defined.
>
> I could put each block in a function and then call the function
> and delete it afterwards, but this is as I see it abusing
> functions.
>
> I don't want to keep track manually of the variables.
>
> Therefore my question:
>
> Can I do something like:
>
> x <- 15
>
> { #here begins the block a <- 1:100 b <- 4:400 } # here ends the
> block
>
> # here are and b not defined anymore # but x is still defined
>
> {} is great for grouping the commands, but the variables are not
> deleted afterwards.
>
> Am I missing a language feature in R?
>
> Rainer
>
>>
>> ______________________________________________
>> R-help at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the
>> posting guide http://www.R-project.org/posting-guide.html and
>> provide commented, minimal, self-contained, reproducible code.
- --
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation
Biology, UCT), Dipl. Phys. (Germany)
Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa
Tel : +33 - (0)9 53 10 27 44
Cell: +33 - (0)6 85 62 59 98
Fax : +33 - (0)9 58 10 27 44
Fax (D): +49 - (0)3 21 21 25 22 44
email: Rainer at krugs.de
Skype: RMkrug
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQEcBAEBAgAGBQJS3Sn/AAoJENvXNx4PUvmC7uIIAIkXdCNVCA1sqJ7jqODTWbG9
OrDTkhRD/IyR//39sCj5YC79peLbPkpKtQgnmoj7jMoNg2euxmCn3wIGLigWhy2w
cyGqh/TocfRnYVKyQXz4LC/IqVFAi+W9ymyevVDA0vQ9RcEYILEsXxjxl06VhZhS
wzOHOiXXdHka8xswjChPJRjA/17LQaStLYeEIQbukz3WCj1wTY68b6YixqlSh/BZ
7C91EULBQtTqV5OetvfV9lulicw0XyWp+ZcNvEa72Y3jZw5DX0LloLcRuuGLZf3N
dxmnB7Uj4kBArjupgfGtkwZzT1d3UX0bb3vqPt0TRoeJCT04XnupbpdpwUOhJ8c=
=0zID
-----END PGP SIGNATURE-----
More information about the R-help
mailing list