5  Ambientes

Status 🟦🟨🟨

5.1 Global Env

O Global Env é o ambiente “atual” do usuário. É nele que ficam armazenados por padrão os objetos e as funções criadas pelos usuários por exemplo. Ele pode ser “visualizado” com os comandos abaixo:

globalenv()
<environment: R_GlobalEnv>
.GlobalEnv
<environment: R_GlobalEnv>

Os objetos presentes no ambiente desejado podem ser visualizados com a função ls.

variavel <- 5
ls(globalenv())
[1] "repo"     "variavel"
ls()
[1] "repo"     "variavel"

5.2 Ambiente de Pacotes

Os pacotes também possuem ambientes e podemos listar seu “conteúdo” com a função ls. Abaixo usando ls para mostrar os 10 primeiros elementos presentes no ambiente do pacote data.table.

library(data.table)
as.environment("package:data.table")
<environment: package:data.table>
attr(,"name")
[1] "package:data.table"
attr(,"path")
[1] "C:/Users/luisg/OneDrive/Área de Trabalho/r/ecd/.packages/data.table"
ls(as.environment('package:data.table'))[1:10]
 [1] "%between%"    "%chin%"       "%flike%"      "%ilike%"      "%inrange%"   
 [6] "%like%"       "%notin%"      "%plike%"      ":="           "[.data.table"

5.3 Ambientes “Pai”

Cada ambiente possui um ambiente de nível superior associado, com exceção do R_EmptyEnv.

# Ambiente superior ao GlobalEnv
parent.env(.GlobalEnv)
<environment: package:data.table>
attr(,"name")
[1] "package:data.table"
attr(,"path")
[1] "C:/Users/luisg/OneDrive/Área de Trabalho/r/ecd/.packages/data.table"
# Ambiente superior ao do apcote stats e base
parent.env(as.environment("package:stats"))
<environment: package:graphics>
attr(,"name")
[1] "package:graphics"
attr(,"path")
[1] "C:/Program Files/R/R-4.4.1/library/graphics"
parent.env(as.environment("package:base"))
<environment: R_EmptyEnv>

5.4 Criando Ambientes

Em R é possível que se faça a criação de novos ambientes.

amb1 <- new.env()

amb1
<environment: 0x0000017ce85774e0>
parent.env(amb1)
<environment: R_GlobalEnv>

Objetos criados dentro de um ambiente podem ser acessados através do operador $ após o nome do ambiente. Também é possível utilizar a função ls com o nome do ambiente desejado para que sejam listados seus objetos.

# Objeto x do amb1
amb1$x <- 10
amb1$y <- 99

# Objeto x do GlobalEnv
x <- 15

x
[1] 15
amb1$x
[1] 10
ls(amb1)
[1] "x" "y"
amb1$x * amb1$y
[1] 990

Grolemund (2014)

Dowle e Srinivasan (2023)

Mastropietro (2019)

Última atualização: 11/10/2024 - 21:49:26