13 outubro, 2021
No módulo Básico, vimos:
nova_funcao <- function(x) { # Corpo da funcao x }
# Funcao com saida implicita nova_funcao <- function(x) { # Corpo da funcao x } nova_funcao(2)
## [1] 2
# Funcao com saida implicita sem resultado nova_funcao2 <- function(x) { # Corpo da funcao x <- x } nova_funcao2(4)
num_par_ou_impar <- function(x) { if (!is.numeric(x)) stop("o argumento x deve ser numerico", call. = FALSE) num <- as.integer(x) if (num %% 2 == 0) { return("Número par!") } else return("Número ímpar!") } # Numero real eh coagido a inteiro sem arredondamento num_par_ou_impar(1.6) ## [1] "Número ímpar!" # Programacao defensiva (x deve ser numerico) num_par_ou_impar(TRUE) ## Error: o argumento x deve ser numerico # Verificando se um numero eh par ou impar num_par_ou_impar(6) ## [1] "Número par!"
# Funcao com saida invisivel estdes <- function(x) { plot(x) resumo <- summary(x) invisible(resumo) } # Conjunto de dados y <- rexp(30) # Chamando estdes res <- estdes(y)
# Imprimindo o resultado invisivel res ## Min. 1st Qu. Median Mean 3rd Qu. Max. ## 0.01888 0.35033 0.63734 0.89462 1.39454 3.11074 # Formas alternativas print(estdes(y))
## Min. 1st Qu. Median Mean 3rd Qu. Max. ## 0.01888 0.35033 0.63734 0.89462 1.39454 3.11074
# Formas alternativas (estdes(y))
## Min. 1st Qu. Median Mean 3rd Qu. Max. ## 0.01888 0.35033 0.63734 0.89462 1.39454 3.11074
# Sinalizador de visibilidade withVisible(estdes(y))
## $value ## Min. 1st Qu. Median Mean 3rd Qu. Max. ## 0.01888 0.35033 0.63734 0.89462 1.39454 3.11074 ## ## $visible ## [1] FALSE
# Funcao `<-`() com saida invisivel x <- 10 # Acessando o valor do obj associado com o nome 'x' x
## [1] 10
# Outra forma de acesso (x <- 10)
## [1] 10