On Sep 10, 2013, at 22:56 , Rolf Turner wrote:

> 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.

It certainly won't work universally:

> x <- 5
> obj_name <- "x"
> class(get(obj_name))<-"foo"
Error in class(get(obj_name)) <- "foo" : could not find function "get<-"
> x
[1] 5

so further details of your wee experiments need to be revealed.

-- 
Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Email: pd....@cbs.dk  Priv: pda...@gmail.com

______________________________________________
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.

Reply via email to