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: [email protected] Priv: [email protected]
______________________________________________
[email protected] 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.