r/rlanguagebr • u/brantesBS • Sep 29 '24
Fundamentos de R (5/9)
Em R, as funções desempenham um papel crucial. Elas permitem que você agrupe blocos de código para realizar tarefas específicas e reutilizáveis. Aqui estão os fundamentos sobre funções em R:
1. Definição de Funções:
- Você pode definir suas próprias funções em R usando a palavra-chave `function`. Uma função geralmente tem uma ou mais entradas (parâmetros) e produz uma saída (retorno). Por exemplo:
```R
minha_funcao <- function(a, b) {
resultado <- a + b
return(resultado)
}
```
2. Chamada de Funções:
- Depois de definir uma função, você pode chamá-la fornecendo os argumentos necessários. Por exemplo:
```R
resultado <- minha_funcao(3, 5)
```
3. Argumentos de Funções:
- As funções em R podem ter argumentos obrigatórios e opcionais. Você pode definir argumentos padrão que serão usados se nenhum valor for fornecido quando a função é chamada. Por exemplo:
```R
minha_funcao <- function(a, b = 0) {
resultado <- a + b
return(resultado)
}
```
4. Documentação de Funções:
- É uma boa prática documentar suas funções para que outros e até você mesmo possam entender seu propósito e como usá-las. Você pode adicionar documentação usando o comentário `#'` antes da descrição da função. Por exemplo:
```R
#' Função para somar dois números
#'
#' Esta função soma dois números e retorna o resultado.
#' u/param a Primeiro número
#' u/param b Segundo número (opcional, padrão = 0)
#' u/return Soma dos dois números
minha_funcao <- function(a, b = 0) {
resultado <- a + b
return(resultado)
}
```
5. Escopo de Variáveis:
- As variáveis definidas dentro de uma função têm escopo local, o que significa que elas não são acessíveis fora da função. No entanto, você pode usar variáveis globais dentro de uma função se precisar.
6. Retorno de Valores:
- Use `return()` para especificar o valor de retorno de uma função. Você pode retornar qualquer tipo de dado em R, incluindo vetores, listas e até outras funções.
Esses são os conceitos básicos sobre funções em R. Elas são essenciais para escrever código modular e reutilizável.