[Rd] S4 Slot assignment within function

Duncan Murdoch murdoch.duncan at gmail.com
Sat Jun 4 13:26:08 CEST 2011

On 11-06-03 5:03 PM, mcguirebc wrote:
> Is there a simple way to assign values to S4 slots from within a function?
> Doing this doesn't work:
>> assign_slot<-function(x){
> assign("OBJECT at slot",x,envir=parent.env(environment())
> }
>> assign_slot(x)
> All I get from this is a new object with the name OBJECT at slot, the slot
> assignment of OBJECT doesn't change.
> I have thought about solutions such as eval(parse()) to pull this off, but
> would prefer not to ugly up the code.
> Thoughts??
> I have searched rather thoroughly, but it is possible I overlooked
> something. If I did, apologies.

I haven't tried this, but I would expect

OBJECT at slot <<- x

to work, assuming OBJECT already exists somewhere outside the function 
but in its environment.

Duncan Murdoch

More information about the R-devel mailing list