25 setembro, 2021

Selo DC

Introdução

  • Ambiente de pacote
  • Arquivo NAMESPACE
    • Ambiente namesmace:package
    • Ambiente imports:package

Ambiente de pacote e pai do ambiente global

# Caminho de busca
search()
## [1] ".GlobalEnv"        "package:stats"     "package:graphics" 
## [4] "package:grDevices" "package:utils"     "package:datasets" 
## [7] "package:methods"   "Autoloads"         "package:base"
# Anexando o pacote 'parallel'
library(parallel)
# Verificando novamente o caminho de busca
search()
##  [1] ".GlobalEnv"        "package:parallel"  "package:stats"    
##  [4] "package:graphics"  "package:grDevices" "package:utils"    
##  [7] "package:datasets"  "package:methods"   "Autoloads"        
## [10] "package:base"

Ambiente namespace

y <- 2
aux <- function() {
  return(y)
}
aux()
## [1] 2
# Testando a funcao sd(x)
x <- 1:3 # o resultado de sd(x) de ser 1!
var <- "Nada"
# Verificando a funcao 'sd()' internamente
sd
## function (x, na.rm = FALSE) 
## sqrt(var(if (is.vector(x) || is.factor(x)) x else as.double(x), 
##     na.rm = na.rm))
## <bytecode: 0x00000000078b1618>
## <environment: namespace:stats>

Ambiente namespace

# Testando sd(x)
sd(x)
## [1] 1
# Agora veja uma outa situacao:
x <- c(1, 2, 3)
# Funcao 'var' que criamos, que nao calcula variancia de dados
var <- function(x) return("Nada")
# Funcao que depende de 'var' do pacote stats, e calcula a variancia 
aux2 <- function(x) {
  vari <- var(x)
  return(vari)
}
aux2(x)
## [1] "Nada"

Ilustração

Bons estudos!