Dear R-Helper,
I want to know how I get a list work which I saved in RData file. For
example,
> test.xy <- function(x,y) {
+ xy <- x+y
+ xy
+ }
>
> xyadd <- test.xy(x=2, y=3)
> xyadd
[1] 5
> x1 <- c(2,43,60,8)
> y1 <- c(91,7,5,30)
>
> xyadd1 <- test.xy(x=x1, y=y1)
> xyadd1
[1] 93 50 65 38
> save(list = ls(all=TRUE), file = "testxy.RData")
> rm(list=ls(all=TRUE))
> load("C:/R/useR/testxy.RData")
> ls()
[1] "test.xy" "x1" "xyadd" "xyadd1" "y1"
>
> ls.str(pat="xyadd")
xyadd : num 5
xyadd1 : num [1:4] 93 50 65 38
>
When I run, I know the result like above
> xyadd
[1] 5
> xyadd1
[1] 93 50 65 38
>
what I want to know, is there any function to make the result like:
> xyadd
test.xy(x=2, y=3)
and
> xyadd1
test.xy(x=x1, y=y1)
Best,
Xiyan Lon
How to get a list work in RData file
3 messages · Xiyan Lon, Brian Ripley
On Mon, 15 Aug 2005, Xiyan Lon wrote:
Dear R-Helper,
(There are quite a few of us.)
I want to know how I get a list work which I saved in RData file. For example,
I don't understand that at all, but it looks as if you want to save an unevaluated call, in which case see ?quote and use something like xyadd <- quote(test.xy(x=2, y=3)) load and saving has nothing to do with this: it doesn't change the meaning of objects in the workspace.
test.xy <- function(x,y) {
+ xy <- x+y + xy + }
xyadd <- test.xy(x=2, y=3) xyadd
[1] 5
x1 <- c(2,43,60,8) y1 <- c(91,7,5,30) xyadd1 <- test.xy(x=x1, y=y1) xyadd1
[1] 93 50 65 38
save(list = ls(all=TRUE), file = "testxy.RData")
rm(list=ls(all=TRUE))
load("C:/R/useR/testxy.RData")
ls()
[1] "test.xy" "x1" "xyadd" "xyadd1" "y1"
ls.str(pat="xyadd")
xyadd : num 5 xyadd1 : num [1:4] 93 50 65 38
When I run, I know the result like above
xyadd
[1] 5
xyadd1
[1] 93 50 65 38
what I want to know, is there any function to make the result like:
xyadd
test.xy(x=2, y=3)
and
xyadd1
test.xy(x=x1, y=y1)
Brian D. Ripley, ripley at stats.ox.ac.uk 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
Dear Prof. Brian, Why I need to know, because I lost my work and code which I used in my project. Lucky I always save my work which RData file. But I forgot which list, function, initial, etc I used. Xiyan Lon
Prof Brian Ripley wrote:
On Mon, 15 Aug 2005, Xiyan Lon wrote:
Dear R-Helper,
(There are quite a few of us.)
I want to know how I get a list work which I saved in RData file. For example,
I don't understand that at all, but it looks as if you want to save an unevaluated call, in which case see ?quote and use something like xyadd <- quote(test.xy(x=2, y=3)) load and saving has nothing to do with this: it doesn't change the meaning of objects in the workspace.
test.xy <- function(x,y) {
+ xy <- x+y + xy + }
xyadd <- test.xy(x=2, y=3) xyadd
[1] 5
x1 <- c(2,43,60,8) y1 <- c(91,7,5,30) xyadd1 <- test.xy(x=x1, y=y1) xyadd1
[1] 93 50 65 38
save(list = ls(all=TRUE), file = "testxy.RData")
rm(list=ls(all=TRUE))
load("C:/R/useR/testxy.RData")
ls()
[1] "test.xy" "x1" "xyadd" "xyadd1" "y1"
ls.str(pat="xyadd")
xyadd : num 5 xyadd1 : num [1:4] 93 50 65 38
When I run, I know the result like above
xyadd
[1] 5
xyadd1
[1] 93 50 65 38
what I want to know, is there any function to make the result like:
xyadd
test.xy(x=2, y=3)
and
xyadd1
test.xy(x=x1, y=y1)