Environments

Introduction to Writing Functions in R

Richie Cotton

Data Evangelist at DataCamp

Environments are like lists

datacamp_lst <- list(
  name = "DataCamp",
  founding_year = 2013,
  website = "https://www.datacamp.com"
)
datacamp_env <- list2env(datacamp_lst)
ls.str(datacamp_lst)
founding_year :  num 2013
name :  chr "DataCamp"
website :  chr "https://www.datacamp.com"
ls.str(datacamp_env)
founding_year :  num 2013
name :  chr "DataCamp"
website :  chr "https://www.datacamp.com"
Introduction to Writing Functions in R

Environments have parents

A series of matryoshka dolls is shown, ordered from largest to smallest.

Introduction to Writing Functions in R

Getting the parent environment

parent <- parent.env(datacamp_env)

environmentName(parent)
"R_GlobalEnv"
grandparent <- parent.env(parent)
environmentName(grandparent)
"package:stats"
search()
[1] ".GlobalEnv"        "package:stats"    
[3] "package:graphics"  "package:grDevices"
[5] "package:utils"     "package:datasets" 
[7] "package:methods"   "Autoloads"        
[9] "package:base"
Introduction to Writing Functions in R

Does a variable exist?

datacamp_lst <- list(
  name = "DataCamp",
  website = "https://www.datacamp.com"
)
datacamp_env <- list2env(datacamp_lst)
founding_year <- 2013
exists("founding_year", envir = datacamp_env)
TRUE
exists("founding_year", envir = datacamp_env, inherits = FALSE)
FALSE
Introduction to Writing Functions in R

Let's practice!

Introduction to Writing Functions in R

Preparing Video For Download...