On 11-07-18 2:16 PM, Nipesh Bajaj wrote:
Hi all, I am trying to understand the R's "environment" concept
however the underlying help files look quite technical to me. Can
experts here provide me some more intuitive ideas behind this concept
like, why it is there, what exactly it is doing in R's architecture
etc.?

I mainly need some non-technical intuitive explanation.


There are three characteristics that describe environments:

1. They are a collection of named objects. Much of the time when you ask for something by name, you're looking in an "environment" to find it.

2. They have a child-parent relationship to another environment. Some of the time, when you look up a name and it is not found, it goes to the parent to look. (And then the grandparent .... ) This means most of the time when you specify a name, R just looks in one environment and its ancestors to find the object.

3.  They don't get copied when you make an assignment.  So you can say
env <- globalenv(), and your env is another name for the global environment, which is where most user objects are created. Saying

env$z <- 3

will create a new variable named z in the global environment. This differs from most other R objects, where assignment makes an independent copy.

And one thing that says how they are used:

1. Things like functions need to look up names all the time. Those things generally have an associated environment which is where they'll look. (Functions are a little complicated in that they get a new one every time you call them, but they also have an associated environment which is the parent of the new one.)

Duncan Murdoch

______________________________________________
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