DescomplicaR

< Voltar para a página inicial

Funções

Isaac Neves | 01/06/2023

Neste artigo, exploraremos como criar suas próprias funções no R e daremos exemplos de funções úteis que podem impulsionar sua produtividade e eficiência.

Por que criar funções personalizadas?

As funções personalizadas permitem que você agrupe um conjunto de instruções em um bloco coeso e reutilizável de código. Isso oferece várias vantagens, como:

  1. Reutilização de código: Ao encapsular um conjunto de instruções em uma função, você pode reutilizá-la em diferentes partes do seu código, economizando tempo e evitando repetições desnecessárias.
  2. Organização do código: Funções bem nomeadas ajudam a tornar seu código mais legível e organizado, facilitando a manutenção e colaboração com outros programadores.
  3. Abstração: Ao criar funções personalizadas, você pode abstrair a complexidade do código subjacente, fornecendo uma interface simples para os usuários. Isso torna o código mais intuitivo e facilita o uso por outras pessoas.

Criando uma função

Sem mais delongas, vamos criar uma função no R.

A sintaxe básica para criar uma função é a seguinte:

nome_da_funcao <- function(argumentos_da_funcao) {
  # Código (tudo o que sua função irá fazer)
  return(retorno_da_funcao)
}

Exemplos de funções

Iremos criar algumas funções úteis que podem ser utilizadas no dia a dia. Vamos lá:

Função para calcular quadrado de um número:

quadrado <- function(x) {
  resultado <- x^2
  return(resultado)
}

# Chamando função
quadrado(2)

Console: > [1] 4

Função para calcular desvio padrão

A fórmula de desvio padrão é calculada por:

desvio_padrao <- function(x) {
  media <- mean(x)
  soma <- sum((x - media)^2)
  resultado <- sqrt(soma / (length(x) - 1))
  return(resultado)
}

# Chamando função
desvio_padrao(c(1:10))

Console > [1] 3.02765

Bônus: função para consolidar arquivos em CSV:

consolidarCSV <- function(caminho = "~") {
  
  consolidado <- data.frame()
  for (i in 1:length(list.files(pattern = "csv"))) {
    base <- read.csv2(
      file = paste0(caminho,"/", list.files(pattern = "csv")[i]),
      sep = ";",
      header = TRUE,
      colClasses = "character"
    )
    
    consolidado <- dplyr::bind_rows(consolidado, base)
    
    return(consolidado)
  }
}

consolidado <- consolidarCSV(caminho = "~")

Bônus: função para cadastrar um cliente

cadastro <- function(df) {
  nome <- readline(prompt = "Nome: ")
  cpf <- readline(prompt = "CPF: ")
  email <- readline(prompt = "E-mail: ")
  
  novo_cliente <- data.frame("nome" = nome,
                             "cpf" = cpf,
                             "email" = email)
  
  df <- rbind(df, novo_cliente)
  
  return(df)
}

lista_cadastros <- data.frame("nome" = c(),
                 "cpf" = c(),
                 "email" = c())

lista_cadastros <- cadastro(df = lista_cadastros)

Basta executar a função cadastro() atribuindo-a a uma variável lista_cadastros e escrever os dados do cliente.

Por exemplo: fiz o cadastro de dois clientes:

> lista_cadastros <- cadastro(df = lista_cadastros)
Nome: Isaac
CPF: 000.000.000-00
E-mail: isaac@gmail.com
> lista_cadastros <- cadastro(df = lista_cadastros)
Nome: Luiz
CPF: 111.111.111-11
E-mail: luiz@gmail.com

Se chamarmos o dataframe lista_cadastros, iremos obter o seguinte resultado:

   nome            cpf           email
1 Isaac 000.000.000-00 isaac@gmail.com
2  Luiz 111.111.111-11  luiz@gmail.com

Conclusão

As funções personalizadas são uma ferramenta poderosa para tornar seu código mais organizado, reutilizável e fácil de entender. Com o conhecimento dessas técnicas, você estará pronto para criar suas próprias funções e expandir ainda mais suas habilidades de programação em R. Experimente criar suas próprias funções e descubra como elas podem otimizar suas tarefas e simplificar a análise de dados.

< Voltar para a página inicial