< 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:
- 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.
- 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.
- 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.comSe 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.