[R] using a variable name stored in another variable?

Chris Seidel seidel at phaget4.org
Sun Feb 7 22:43:45 CET 2010


I'm trying to figure out how to create a data object, and then save it
with a user-defined name that is input as a command line argument. I
know how to create the object and assign it the new name, however, I
can't figure out how to refer to the new name for a future operation
such as save(). The code below creates an object and uses assign() to
give it the user supplied name "MyName". However, since I don't know
what the new name is in advance, how do I refer to it in the save()
command? (the example below only saves an object with the name, not the
objec itself).

Is it some kind of dereference? Any ideas?


cat myscript.r | R --vanilla --args MyName


# get the command-line argument	for the	variable name
myobjectname <- commandArgs()[4]

# make some data
somedata <- matrix(rnorm(100),10,10)

# make a filename for the saved object
filename <- paste(myobjectname, ".RData", sep="")

# assign data to the new name
assign(myobjectname, somedata)

# save the object to disk
save(myobjectname, file=filename)

More information about the R-help mailing list