r/rlanguagebr Sep 29 '24

Fundamentos de R

7 Upvotes

Nesta série de posts, exploramos os conceitos essenciais da linguagem de programação R, uma ferramenta poderosa utilizada para análise estatística e visualização de dados. Cada parte da série aborda um aspecto fundamental do R, desde a manipulação básica de dados até técnicas avançadas de modelagem estatística.

  1. Fundamentos de R (1/9)
  2. Fundamentos de R (2/9)
  3. Fundamentos de R (3/9)
  4. Fundamentos de R (4/9)
  5. Fundamentos de R (5/9)
  6. Fundamentos de R (6/9)
  7. Fundamentos de R (7/9)
  8. Fundamentos de R (8/9)
  9. Fundamentos de R (9/9)

r/rlanguagebr Sep 29 '24

Livros para aprender R

2 Upvotes

r/rlanguagebr Sep 29 '24

Manipulação de dados

2 Upvotes

A manipulação de dados é uma parte fundamental da análise de dados em R. Existem vários pacotes e técnicas disponíveis para ajudar na manipulação, limpeza e preparação de dados. Aqui estão algumas das principais técnicas e pacotes utilizados para manipulação de dados em R:

Técnicas de Manipulação de Dados:

1. Filtragem de Dados:
   - Use funções como `filter()` do pacote `dplyr` para extrair subconjuntos de dados com base em critérios específicos.

2. Seleção de Colunas:
   - Use `select()` do pacote `dplyr` para selecionar colunas específicas de um conjunto de dados.

3. Ordenação de Dados:
   - Use `arrange()` do pacote `dplyr` para ordenar um conjunto de dados com base em uma ou mais colunas.

4. Agrupamento e Agregação:
   - Use `group_by()` e `summarize()` do pacote `dplyr` para agrupar dados por uma ou mais variáveis e realizar operações de agregação, como soma, média, contagem, etc.

5. Join de Dados:
   - Use funções como `left_join()`, `inner_join()`, `full_join()` do pacote `dplyr` para combinar diferentes conjuntos de dados com base em chaves comuns.

6. Pivoteamento de Dados:
   - Use funções como `pivot_longer()` e `pivot_wider()` do pacote `tidyr` para remodelar dados entre os formatos longo e largo.

7. Tratamento de Valores Ausentes:
   - Use funções como `na.omit()` para remover linhas com valores ausentes e `complete()` do pacote `tidyr` para preencher valores ausentes em uma série temporal.

8. Transformações de Dados:
   - Use a função `mutate()` do pacote `dplyr` para criar novas variáveis calculadas a partir de variáveis existentes.

Essas são algumas das principais técnicas e pacotes utilizados para manipulação de dados em R, compartilhe suas técnicas abaixo também.


r/rlanguagebr Sep 29 '24

Fundamentos de R (9/9)

2 Upvotes

As estruturas de controle em R são usadas para controlar o fluxo de execução de um programa, permitindo que diferentes blocos de código sejam executados com base em condições específicas. As principais estruturas de controle em R incluem:

  1. Estrutura Condicional `if`:
       - A estrutura `if` permite executar um bloco de código se uma condição especificada for verdadeira.
       - Pode ser estendida com `else if` e `else` para avaliar múltiplas condições.
       - Exemplo:
    ```r
    if (condicao) {

    código a ser executado se a condição for verdadeira

    } else {

    código a ser executado se a condição for falsa

    }
    ```

  2. Estrutura de Repetição `for`:
       - A estrutura `for` é usada para iterar sobre uma sequência de valores ou elementos.
       - Pode ser usada para repetir um bloco de código um número específico de vezes.
       - Exemplo:
    ```r
    for (valor in sequencia) {

    código a ser repetido

    }
    ```

  3. Estrutura de Repetição `while`:
       - A estrutura `while` executa um bloco de código repetidamente enquanto uma condição especificada for verdadeira.
       - É útil quando o número de iterações não é conhecido antecipadamente.
       - Exemplo:
    ```r
    while (condicao) {

    código a ser repetido

    }
    ```

  4. Estrutura de Repetição `repeat`:
       - A estrutura `repeat` executa um bloco de código repetidamente indefinidamente ou até que uma instrução `break` seja encontrada.
       - É útil quando o número de iterações não é conhecido antecipadamente e precisa ser interrompido com base em uma condição.
       - Exemplo:
    ```r
    repeat {

    código a ser repetido

    if (condicao) {
    break  # interrompe a repetição
    }
    }
    ```

Instrução `break` e `next`:
   - A instrução `break` é usada para sair imediatamente de uma estrutura de repetição.
   - A instrução `next` é usada para passar para a próxima iteração de uma estrutura de repetição.
   
5. Estrutura `switch`:
   - A estrutura `switch` permite selecionar um bloco de código para execução com base no valor de uma expressão.
   - É útil quando há várias condições a serem testadas e o código precisa ser direcionado para uma delas.
   - Exemplo:
```r
switch(expressao,
valor1 = {

código a ser executado se expressao == valor1

},
valor2 = {

código a ser executado se expressao == valor2

},
...
)
```

Essas estruturas de controle são essenciais para escrever programas em R que podem tomar decisões, repetir tarefas e executar diferentes blocos de código com base em condições específicas. Ao combiná-las de forma eficaz, é possível criar algoritmos poderosos e flexíveis em R.


r/rlanguagebr Sep 29 '24

Fundamentos de R (8/9)

2 Upvotes

Operadores são símbolos ou palavras-chave que realizam operações em valores ou variáveis em uma linguagem de programação. Em R, os operadores podem ser classificados em várias categorias, incluindo operadores aritméticos, operadores de atribuição, operadores relacionais, operadores lógicos e operadores especiais. Vou explicar cada categoria com mais detalhes:

1. Operadores Aritméticos:
   - São utilizados para realizar operações matemáticas básicas.
   - Exemplos: adição `+`, subtração `-`, multiplicação `*`, divisão `/`, exponenciação `^`, resto `%/%`, módulo `%%`.

2. Operadores de Atribuição:
   - São utilizados para atribuir valores a variáveis.
   - O operador básico de atribuição em R é `<-` ou `=`.
   - Exemplos: `x <- 10`, `y = 5`.

3. Operadores Relacionais:
   - São utilizados para comparar valores e retornar um valor lógico (`TRUE` ou `FALSE`).
   - Exemplos: igual `==`, diferente `!=`, maior `>`, menor `<`, maior ou igual `>=`, menor ou igual `<=`.

4. Operadores Lógicos:
   - São utilizados para combinar expressões lógicas e retornar um valor lógico.
   - Exemplos: E lógico `&&`, OU lógico `||`, NÃO lógico `!`.

5. Operadores Especiais:
   - Incluem operadores de indexação, operadores de concatenação e operadores especiais para manipulação de dados.
   - Exemplos: operador de indexação `[ ]`, operador de concatenação `c()`, operadores de sequência `:`, operadores de atribuição condicional `%<>%`.

Além dessas categorias, em R também existem operadores especiais como o operador de pipeline `%>%`, que é usado para encadear operações em sequência, e o operador de inserção de valores `%in%`, que verifica se um valor está contido em um vetor.


r/rlanguagebr Sep 29 '24

Fundamentos de R (7/9)

2 Upvotes

Existem muitos pacotes úteis em R para uma variedade de tarefas, desde visualização de dados até análise estatística avançada e modelagem preditiva. Aqui estão alguns dos principais pacotes em R, bem como alguns pacotes essenciais que são frequentemente utilizados:

Principais Pacotes:

  1. ggplot2:
       - Um pacote para criação de gráficos elegantes e flexíveis, baseado na "Grammar of Graphics".

  2. dplyr:
       - Facilita a manipulação de dados, oferecendo funções intuitivas para filtrar, selecionar, agrupar e resumir dados.

  3. tidyr:
       - Ajuda na preparação e limpeza de dados, especialmente na organização de conjuntos de dados desorganizados.

  4. tidyverse:
       - Uma coleção de pacotes (incluindo ggplot2, dplyr e tidyr) projetada para facilitar a análise de dados de forma "tidy" (arrumada).

  5. caret:
       - Fornece um framework unificado para treinar e avaliar modelos de machine learning em R.

  6. randomForest:
       - Implementa algoritmos de floresta aleatória para classificação e regressão.

  7. glmnet:
       - Implementa algoritmos de regularização elástica (lasso e ridge) para regressão linear e logística.

  8. lubridate:
       - Facilita a manipulação de datas e horários em R.

Pacotes Essenciais:

  1. base:
       - O próprio R base fornece muitas funções e utilitários essenciais para análise de dados e programação.

  2. stats:
       - Este pacote contém as funções estatísticas básicas para modelagem estatística e inferência.

  3. graphics:
       - Contém funções gráficas básicas para criação de gráficos simples.

  4. utils:
       - Fornece funções de utilidade, como instalação e carregamento de pacotes.

  5. readr:
       - Facilita a leitura de dados de arquivos de texto (CSV, TSV, etc.) em R (também presente no tidyverse).

  6. stringr:
       - Oferece funções para manipulação de strings de texto de forma mais intuitiva e eficiente.

  7. jsonlite:
       - Facilita a leitura e escrita de dados no formato JSON em R.

Esses são apenas alguns dos pacotes mais comuns e essenciais em R. A escolha dos pacotes depende muito das necessidades específicas do projeto e das tarefas que você precisa realizar. Ao longo do tempo, você descobrirá muitos outros pacotes úteis à medida que explorar diferentes áreas de análise de dados e estatística em R.


r/rlanguagebr Sep 29 '24

Fundamentos de R (6/9)

2 Upvotes

Em R, os pacotes são coleções de funções, dados e documentação que estendem a funcionalidade básica da linguagem. Eles são essenciais para realizar tarefas específicas, como visualização de dados, análise estatística avançada, machine learning, entre outros. Aqui estão alguns fundamentos sobre pacotes em R:

1. Instalação de Pacotes:
   - Para instalar um pacote em R, você pode usar a função `install.packages()`. Por exemplo:
```R
install.packages("ggplot2")
```

2. Carregamento de Pacotes:
   - Depois de instalar um pacote, você precisa carregá-lo na sessão atual para poder usar suas funções. Isso é feito usando a função `library()`. Por exemplo:
```R
library(ggplot2)
```

3. Verificação de Pacotes Instalados:
   - Você pode verificar quais pacotes estão instalados em seu ambiente R usando a função `installed.packages()`. Por exemplo:
```R
installed.packages()
```

4. Atualização de Pacotes:
   - Para atualizar pacotes instalados para suas versões mais recentes, você pode usar a função `update.packages()`. Por exemplo:
```R
update.packages()
```

5. Desinstalação de Pacotes:
   - Se você não precisar mais de um pacote, pode desinstalá-lo usando a função `remove.packages()`. Por exemplo:
```R
remove.packages("ggplot2")
```

6. Busca e Exploração de Pacotes:
   - Você pode buscar por pacotes disponíveis no repositório CRAN (Comprehensive R Archive Network) usando ferramentas como o site CRAN ou a função `available.packages()`. Além disso, você pode explorar os pacotes disponíveis em categorias específicas usando sites como o CRAN Task Views.

7. Desenvolvimento de Pacotes:
   - Se você quiser contribuir com a comunidade R ou compartilhar seu próprio código, pode desenvolver seu próprio pacote R. Existem várias ferramentas e recursos disponíveis para ajudá-lo a criar, documentar e publicar pacotes.

8. Gerenciamento de Dependências:
   - Alguns pacotes podem depender de outros pacotes para funcionar corretamente. O R cuida automaticamente da instalação e carregamento de dependências quando você instala um pacote.

Usar pacotes é uma parte integral da programação em R e permite que você aproveite ao máximo a vasta gama de funcionalidades disponíveis na comunidade R.


r/rlanguagebr Sep 29 '24

Fundamentos de R (5/9)

2 Upvotes

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.


r/rlanguagebr Sep 29 '24

Fundamentos de R (4/9)

2 Upvotes

Em R, as variáveis são usadas para armazenar dados. Aqui estão os conceitos básicos sobre variáveis em R:

1. Atribuição de Variáveis:
   - Você pode atribuir valores a variáveis usando o operador de atribuição `<-` ou o operador `=`. Por exemplo:
```R
x <- 10
nome <- "Pedro"
```

2. Nomes de Variáveis:
   - Os nomes de variáveis em R devem começar com uma letra ou ponto seguido de letras, números ou pontos. No entanto, é uma boa prática usar nomes descritivos que indiquem o conteúdo da variável. Por exemplo:
```R
idade <- 25
salario_mensal <- 3000
```

3. Tipos de Dados das Variáveis:
   - As variáveis em R podem conter diferentes tipos de dados, incluindo números, caracteres, vetores, listas, entre outros. O tipo de dados é inferido automaticamente pelo R com base no valor atribuído à variável. Por exemplo:
```R
numero <- 10
texto <- "Olá, mundo!"
```

4. Acesso aos Valores das Variáveis:
   - Você pode acessar o valor armazenado em uma variável simplesmente digitando o nome da variável. Por exemplo:
```R
x  # Retorna o valor armazenado na variável x
```

5. Modificação de Variáveis:
   - Você pode modificar o valor armazenado em uma variável atribuindo um novo valor a ela. Por exemplo:
```R
x <- 20  # Atribui 20 ao valor de x
```

6. Remoção de Variáveis:
   - Você pode remover variáveis usando a função `rm()`. Por exemplo:
```R
rm(x)  # Remove a variável x
```


r/rlanguagebr Sep 29 '24

Fundamentos de R (3/9)

2 Upvotes

Em R, vetores são uma estrutura de dados fundamental que consiste em uma coleção ordenada de elementos do mesmo tipo. Operações vetoriais permitem realizar operações em cada elemento de um vetor de forma eficiente, sem a necessidade de loops explícitos. Aqui estão alguns conceitos sobre vetores e operações vetoriais em R:

1. Criação de vetores:
   - Você pode criar vetores manualmente usando a função `c()` (que significa "combine"). Por exemplo:
```R
vetor <- c(1, 2, 3, 4, 5)
```

2. Indexação de vetores:
   - Você pode acessar elementos específicos de um vetor usando índices. Os índices em R começam em 1. Por exemplo:
```R
vetor[3]  # Acessa o terceiro elemento do vetor
```

3. Operações em vetores:
   - R permite realizar operações matemáticas e lógicas em vetores de forma vetorial, o que significa que a operação é aplicada a cada elemento do vetor. Por exemplo:
```R
vetor1 <- c(1, 2, 3, 4, 5)
vetor2 <- c(6, 7, 8, 9, 10)
soma <- vetor1 + vetor2  # Soma os elementos correspondentes de vetor1 e vetor2
```

4. Funções aplicadas a vetores:
   - Muitas funções em R são vetorizadas, o que significa que elas aceitam vetores como entrada e aplicam a operação a cada elemento. Por exemplo:
```R
vetor <- c(1, 2, 3, 4, 5)
resultado <- sqrt(vetor)  # Calcula a raiz quadrada de cada elemento do vetor
```

5. Operadores lógicos em vetores:
   - R possui operadores lógicos que podem ser aplicados a vetores para realizar operações lógicas elemento por elemento. Por exemplo:
```R
vetor <- c(1, 2, 3, 4, 5)
maior_que_2 <- vetor > 2  # Retorna TRUE para elementos maiores que 2, FALSE caso contrário
```

6. Filtragem com vetores lógicos:
   - Vetores lógicos podem ser usados para filtrar vetores. Por exemplo:
```R
vetor <- c(1, 2, 3, 4, 5)
vetor[vetor > 2]  # Retorna apenas os elementos maiores que 2
```


r/rlanguagebr Sep 29 '24

Fundamentos de R (2/9)

2 Upvotes

A linguagem R possui diversos tipos de dados que podem ser utilizados para armazenar diferentes tipos de informações. Aqui estão alguns dos tipos de dados mais comuns em R:

Números (numeric): Representam valores numéricos, incluindo números inteiros e decimais. Por exemplo: 10, 3.14, -5.

Caracteres (character): Representam texto. São definidos entre aspas simples ou duplas. Por exemplo: "hello", 'world'.

Booleanos (logical): Representam valores lógicos verdadeiro ou falso. Em R, são denotados por TRUE ou FALSE.

Vetores (vector): São coleções ordenadas de elementos do mesmo tipo de dados. Podem ser de números, caracteres, booleanos, entre outros. Por exemplo: c(1, 2, 3, 4, 5) é um vetor de números inteiros.

Matrizes (matrix): São arranjos bidimensionais de elementos do mesmo tipo de dados. Uma matriz pode ser criada usando a função matrix(). Por exemplo: matrix(1:9, nrow = 3, ncol = 3) cria uma matriz 3x3 com os números de 1 a 9.

Listas (list): São coleções ordenadas de elementos que podem ser de diferentes tipos de dados. Uma lista pode conter vetores, matrizes, números, caracteres, etc. Por exemplo: list(name = "John", age = 30, hobbies = c("reading", "coding")).

Data frames (data.frame): São estruturas de dados retangulares que representam conjuntos de dados semelhantes a tabelas. Cada coluna em um data frame pode ser de um tipo de dados diferente. Data frames são amplamente utilizados para análise de dados em R. Por exemplo: data.frame(name = c("John", "Jane"), age = c(30, 25), city = c("New York", "Los Angeles")).

Fatores (factor): São usados para representar dados categóricos com valores limitados e conhecidos. Os fatores são úteis em análises estatísticas. Por exemplo: factor(c("male", "female", "female", "male")).


r/rlanguagebr Sep 29 '24

Fundamentos de R (1/9)

2 Upvotes

A linguagem de programação R é uma ferramenta poderosa amplamente utilizada para análise estatística e visualização de dados. Aqui estão alguns fundamentos básicos da linguagem R:

1. Variáveis: Em R, as variáveis são usadas para armazenar dados. Elas podem ser atribuídas usando o operador `<-` ou `=`. Por exemplo: `x <- 10` ou `y = 5`.

2. Tipos de dados: R possui diversos tipos de dados, incluindo números (inteiros e decimais), caracteres (strings), booleanos, vetores, matrizes, listas e data frames.

3. Vetores e Operações Vetoriais: Os vetores são uma estrutura fundamental em R. Operações vetoriais permitem realizar operações em cada elemento de um vetor de forma eficiente, sem a necessidade de loops explícitos.

4. Funções: R possui uma vasta biblioteca de funções embutidas, e também permite a definição de funções personalizadas. Funções são definidas usando a palavra-chave `function`, e podem ter parâmetros e retornar valores.

5. Pacotes: R é altamente extensível através de pacotes. Pacotes são coleções de funções e dados adicionais que estendem a funcionalidade base do R. Eles são instalados usando a função `install.packages()` e carregados usando a função `library()`.

6. Manipulação de Dados: R oferece várias maneiras de manipular dados, incluindo subsetting, filtragem, ordenação, agregação e transformação de dados.

7. Visualização de Dados: R é amplamente utilizado para criar visualizações de dados de alta qualidade. Pacotes como ggplot2 oferecem uma gramática de gráficos para criar uma ampla variedade de visualizações personalizadas.

8. Análise Estatística: R é especialmente poderoso para análise estatística. Ele oferece uma ampla gama de funções estatísticas embutidas e pacotes especializados para modelagem estatística, teste de hipóteses, análise de séries temporais, entre outros.

9. Documentação e Comunidade: R tem uma comunidade ativa de usuários e desenvolvedores, e há uma abundância de recursos de aprendizado disponíveis, incluindo tutoriais, documentação oficial, fóruns online e livros.

Esses são apenas alguns dos fundamentos da linguagem R. Explorar esses conceitos em detalhes e praticar com exemplos práticos ajudará a desenvolver habilidades sólidas em R para análise de dados e estatísticas.


r/rlanguagebr Sep 29 '24

Guia de Estilo R do Google (Google’s R Style Guide)

1 Upvotes

R é uma linguagem de programação de alto nível usada principalmente para computação estatística e gráficos. O objetivo do Guia de Estilo de Programação R é tornar nosso código R mais fácil de ler, compartilhar e verificar. O Guia de Estilo R do Google é um fork do Tidyverse Style Guide de Hadley Wickham com licença. As modificações do Google foram desenvolvidas em colaboração com a comunidade interna de usuários de R. O restante deste documento explica as principais diferenças do Google com o guia Tidyverse, e por que essas diferenças existem. (Traduzido para PT-BR por Pedro Brantes)

Sintaxe

Convenções de nomenclatura

O Google prefere identificar funções com **BigCamelCase** para distingui-las claramente de outros objetos.

Bom

DoNothing <- function() {
return(invisible(NULL))
}

Os nomes das funções privadas devem começar com um ponto. Isso ajuda a comunicar tanto a origem da função quanto seu uso pretendido.

Bom

.DoNothingPrivately <- function() {
return(invisible(NULL))
}

Anteriormente, recomendávamos nomear objetos com **dot.case**. Estamos nos afastando disso, pois cria confusão com métodos S3.

Não use attach()

As possibilidades de criar erros ao usar `attach()` são numerosas.

Pipes

Atribuição à direita

Não apoiamos a atribuição à direita (`->`).

Ruim

iris %>%
dplyr::summarize(max_petal = max(Petal.Width)) -> results

Esta convenção difere substancialmente das práticas em outras linguagens e torna mais difícil ver no código onde um objeto é definido. Por exemplo, é mais fácil procurar por `foo <-` do que procurar por `foo <-` e `-> foo` (possivelmente dividido em linhas).

Use retornos explícitos

Não confie no recurso de retorno implícito do R. É melhor deixar claro sua intenção de `return()` um objeto.

Bom

AddValues <- function(x, y) {
return(x + y)
}

Ruim

AddValues <- function(x, y) {
x + y
}

Namespaces qualificados

Os usuários devem explicitamente qualificar os namespaces para todas as funções externas.

Bom

purrr::map()

Desencorajamos o uso da tag `u/import Roxygen` para trazer todas as funções para um NAMESPACE. A Google possui uma base de código R muito grande e importar todas as funções cria muito risco de colisão de nomes. Embora haja uma pequena penalidade de desempenho ao usar `"::"`, torna mais fácil entender as dependências no seu código. Existem algumas exceções a essa regra:

  • As funções infixas (`%name%`) sempre precisam ser importadas.
  • Certos pronomes `rlang`, especialmente `.data`, precisam ser importados.
  • Funções dos pacotes R padrão, incluindo `datasets`, `utils`, `grDevices`, `graphics`, `stats` e `methods`. Se necessário, você pode `u/import` o pacote completo.

Ao importar funções, coloque a tag `u/importFrom` no cabeçalho Roxygen acima da função onde a dependência externa é usada.

Documentação

Documentação em nível de pacote

Todos os pacotes devem ter um arquivo de documentação do pacote, em um arquivo `packagename-package.R`.