[Rd] save objects from function (PR#9365)

Peter Dalgaard p.dalgaard at biostat.ku.dk
Wed Nov 15 16:07:19 CET 2006


dragan.sestovic at ubs.com writes:

> Full_Name: Dragan Sestovic
> Version: 2.3.0
> OS: Windows XP
> Submission from: (NULL) (139.149.1.194)
> 
> 
> I can not save R objects from function using "save". The simple example is
> below:
> I do not understand why function funSave.1 fails. Also, why does function
> funSave.2 work? 
> 
> > funSave.1 <- function(a)
> + {
> +   save(a, file="a.1.dat")
> + }
> > 
> > funSave.2 <- function(a)
> + {
> +   b <- a
> +   save(a, file="a.2.dat")
> + }
> > 
> > a <- 1:10
> > a
>  [1]  1  2  3  4  5  6  7  8  9 10
> > save(a, file="a.dat")
> > load("a.dat")
> > a
>  [1]  1  2  3  4  5  6  7  8  9 10
> > a <- 1:10
> > funSave.1(a)
> > load("a.1.dat")
> > a
> Error: recursive default argument reference
> > a <- 1:10
> > funSave.2(b)
> > load("a.2.dat")
> > a
>  [1]  1  2  3  4  5  6  7  8  9 10

.........
I cannot reproduce this in a current(!) R:

> funSave.1 <- function(a)
+ {
+   save(a, file="a.1.dat")
+ }
>
> funSave.2 <- function(a)
+ {
+   b <- a
+   save(a, file="a.2.dat")
+ }
>
> a <- 1:10
> a
 [1]  1  2  3  4  5  6  7  8  9 10
> save(a, file="a.dat")
> load("a.dat")
> a
 [1]  1  2  3  4  5  6  7  8  9 10
> a <- 1:10
> funSave.1(a)
> load("a.1.dat")
> a
 [1]  1  2  3  4  5  6  7  8  9 10
> a <- 1:10
> funSave.2(b)
Error in funSave.2(b) : object "b" not found
> load("a.2.dat")
Error in readChar(con, 5) : cannot open the connection
In addition: Warning message:
cannot open compressed file 'a.2.dat'
> a
 [1]  1  2  3  4  5  6  7  8  9 10
> a <- 1:10
> funSave.2(a)
> load("a.2.dat")
> a
 [1]  1  2  3  4  5  6  7  8  9 10


-- 
   O__  ---- Peter Dalgaard             Øster Farimagsgade 5, Entr.B
  c/ /'_ --- Dept. of Biostatistics     PO Box 2099, 1014 Cph. K
 (*) \(*) -- University of Copenhagen   Denmark          Ph:  (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk)                  FAX: (+45) 35327907



More information about the R-devel mailing list