Having been told that this was a particular very large environment, Luke's
comments in serialize.c wouild seem to apply:
The output format for dotted pairs writes the ATTRIB value first
rather than last. This allows CDR's to be processed by iterative
tail calls to avoid recursion stack overflows when processing long
lists. The writing code does take advantage of this, but the
reading code does not. It hasn't been a big issue so far--the only
case where it has come up is in saving a large unhashed environment
where saving succeeds but loading fails because the PROTECT stack
overflows. With the ability to create hashed environments at the
user level this is likely to be even less of an issue now. But if
we do need to deal with it we can do so without a change in the
serialization format--just rewrite ReadItem to pass the place to
store the CDR it reads. (It's a bit of a pain to do, that is why it
is being deferred until it is clearly needed.)
So I think the moral is to hash large environments, and increasing
--max-ppsize should enable this one to be read in.
On Fri, 15 Aug 2008, Luke Tierney wrote:
On Fri, 15 Aug 2008, Benjamin Otto wrote:
Hi,
When I create an environment object with new.env() and populate it with
values then how can I save it into an .RData file properly, so it can be
loaded later on in a new session?
Saving an environment object with save() or save.image() results in an
error
message when loading again:
Error: protect(): protection stack overflow
save/load works fine (and is used in many places):
e<-new.env()
assign("e", e, envir = e)
assign("x", 2, envir = e)
save(e, file = "test.Rda")
rm(e)
load("test.Rda")
e
<environment: 0x1c2c748>
There may be something about the values you are using that is causing
problems, but there is no way to tell without a reproducible example.
luke
Regards,
benjamin
======================================
Benjamin Otto
University Hospital Hamburg-Eppendorf
Institute For Clinical Chemistry
Martinistr. 52
D-20246 Hamburg
Tel.: +49 40 42803 1908
Fax.: +49 40 42803 4971
======================================
--
Luke Tierney
Chair, Statistics and Actuarial Science
Ralph E. Wareham Professor of Mathematical Sciences
University of Iowa Phone: 319-335-3386
Department of Statistics and Fax: 319-335-3017
Actuarial Science
241 Schaeffer Hall email: [EMAIL PROTECTED]
Iowa City, IA 52242 WWW: http://www.stat.uiowa.edu
______________________________________________
R-help@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.
--
Brian D. Ripley, [EMAIL PROTECTED]
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
______________________________________________
R-help@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.