[R] assigning the class of an object
peter dalgaard
pdalgd at gmail.com
Tue Sep 10 23:16:23 CEST 2013
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.mes at cbs.dk Priv: PDalgd at gmail.com
More information about the R-help
mailing list