On 09/11/13 07:54, Davis, Brian wrote:
I'm sure this has been answered before but alas my googlefoo is not that strong.
I have several .Rdata files with a single object in them. I need to set the class of the
object to "myClass". Unfortunately, I don't know the name of the object
beforehand. Obviously I could ls() and get the name but as I have quite a few of these
I'd like to do it programmatically.
I thought something like this would work, but I get an error.
obj_name <- load("Robject.RData") # get the name of the loaded object
class(get(obj_name)) <- "myClass"
Error in class(get(obj_name)) <- " myClass " :
could not find function "get<-"
So I guess the question is how do I set the class of an R object when I only
have the object name as a character string?
(a) Actually, a wee experiment that I did indicates that your strategy
actually *works* despite the error message!!!
That is, you wind up with an object, named by obj_name, with class
"myClass". I don't understand this. Perhaps
someone more knowledgeable than I will enlighten us both.
(b) To accomplish your task without getting an off-putting error
message, you proceed in two (three?) steps:
obj_name <- load("Robject.RData")
tempObj <- get(obj_name)
class(tempObj) <- "myClass"
assign(obj_name,tempObj)
HTH
cheers,
Rolf Turner
______________________________________________
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.