Re: [R] Referring to objects themselves

From: Duncan Murdoch <>
Date: Sun, 20 Mar 2011 06:43:09 -0400

On 11-03-19 10:21 PM, Kenn Konstabel wrote:
> On Sun, Mar 20, 2011 at 4:13 AM, Kenn Konstabel<> wrote:
>> you can omit the list and do the following:
>> /.../
>> (but you don't really need "this" in this case as you can use "balance"
>> instead of "this$balance")
> P.S. using "this" would make some difference in one case:
> instead of
> total<<- total + amount # need<<- here
> you can have
> this$total<- this$total + amount # can use<-

This is a very un-R-like way of programming, so I wouldn't recommend it.   The reason it works is that environment objects are special: they are handled by reference, whereas with most other kinds of objects assignment creates a new copy, and assignment with "<-" makes the assignment locally.

So if at some point you switched this to be a list() object instead of an environment, the line

this$total <- this$total + amount

would have quite a different meaning.

Duncan Murdoch mailing list PLEASE do read the posting guide and provide commented, minimal, self-contained, reproducible code. Received on Sun 20 Mar 2011 - 10:46:54 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Sun 20 Mar 2011 - 15:30:23 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.

list of date sections of archive