Introdução ao R - Parte II

Oficina de Introdução ao R

2023-10-28

Conceitos iniciais de programação

Scripts

  • Podemos salvar nossos scripts para utilizar depois!

  • Considere tudo no console como temporário, pois não salvamos o conteúdo.

  • Escreva no Script/Editor os códigos importantes para a análise.

R como uma calculadora

  • Podemos usar o R como uma calculadora:
1 / 200 * 30
[1] 0.15
(59 + 73 + 2) / 3
[1] 44.66667

Executando códigos

  • O atalho Cmd/Ctrl + Enter é um dos mais úteis! Executa o código selecionado, ou o trecho de código onde o cursor está.

  • O atalho Cmd/Ctrl + Shift + S executa todos os códigos do script!

Criando objetos

  • Podemos criar objetos (e guardar resultados) usando o operador de atribuição <-, e a estrutura a seguir:
``` {{r}}
nome_do_objeto <- valor
```

Exemplo:

x <- 3 * 4

Podemos ver o conteúdo do objeto escrevendo o nome e executando:

x
[1] 12

Boas práticas e objetos

  • Atalho Alt - (Alt e menos) serve para escrever o sinal de atribuição mais rápido.

  • O sinal = também funciona neste caso: porém como boa prática de escrita de código nós não usamos

  • Aproveite para usar a tecla Tab no RStudio: ajuda a autocompletar!

  • O R é case sensitive: ele diferencia letras maiúsculas e minúsculas.

r_rocks <- 2 ^ 3
r_rock
#> Error: object 'r_rock' not found
R_rocks
#> Error: object 'R_rocks' not found
r_rocks
#> [1] 8

Boas práticas e objetos

  • Erros de digitação e de maiúscula/minúscula importam!

  • Cuidado ao dar nomes aos objetos:

eu_uso_snake_case
outrasPessoasUsamCamelCase
algumas.pessoas.usam.pontos
E_Algumas.Pessoas_RENUNCIAMconvenções

Entendendo melhor um objeto

Um objeto é onde nossos dados são armazenados dentro do R.

Um objeto sempre tem uma classe e um tipo

Geralmente chamamos de “valor” tudo o que está dentro de um objeto, PORÉM:

  • Valores não precisam ser números.
  • Eles podem ser texto, por exemplo.
pessoa <- "Bruna"
pessoa 
[1] "Bruna"

As classes dos objetos

  • Os objetos podem conter dados de diferentes naturezas (um texto, um número, um booleano). É o quê estamos armazenando. Principais:
CLASSE SINÔNIMO
character texto, string, caractere
integer números inteiros
numeric números racionais (número representado por uma fração
logic lógico, booleano, valor TRUE/FALSE

Exemplos de classes

nome <- 'Rladies' # texto
nome
[1] "Rladies"
idade <- '40' # texto
idade
[1] "40"
idade2 <- 40L # numero inteiro
idade2
[1] 40
passagem <- 4.40 # numero decimal
passagem
[1] 4.4

Exemplos de classes

sou_linda <- TRUE # booleano
sou_linda
[1] TRUE

Exemplos de classes

DICA: a função class() mostra a classe de um objeto

nome <- 'R-ladies SP'
class(nome)
[1] "character"
passagem <- 4.40
class(passagem)
[1] "numeric"

Os tipos de objetos

É como armazenamos os dados dentro do R. Principais neste momento:

Vector: armazena elementos de mesma classe.

Data.frame: são tabelas de dados com linhas e colunas, como uma tabela do Excel. C ada coluna pode ser de classe diferente. Dentro de cada coluna, teremos sempre a mesma classe!

NA

Uma característica importante do R que pode dicultar a comparação são os valores ausentes ou NAs (não disponíveis).

NA > 10
[1] NA
NA == NA
[1] NA

is.na() é a função que testa se um objeto é NA

Operadores relacionais

Operador Descrição
== igual
!= diferente
> maior
< menor
>= maior ou igual a
<= menor ou igual que

Operadores lógicos

Operador Descrição
! significa NÃO
& significa E
| significa OU
%in% significa “contém”

O que é uma função?

  • Função: uma palavra que, no código, dá um comando ao computador.
  • Ela é escrita seguida de parênteses.
  • Nos parênteses incluímos os argumentos.
  • O output vai ser a informação que o computador retorna após rodar a função.

(pense nela como um verbo!)

Função no R

altura_carol <- 1.54
altura_lucas <- 1.89
altura_media <- mean(c(altura_carol, altura_lucas))
altura_media
[1] 1.715


  • mean = função para calcular a média
  • argumentos = informações que vão entre parênteses para indicar o que a função deve fazer
  • c() = para criar um vetor (uma lista com mais de um item a ser aplicado no cálculo)

Utilizando funções

  • O R possui muitas funções disponíveis

  • Estrutura para utilizar uma função:

nome_da_funcao(nome_do_argumento_1 = valor_para_o_argumento1,
               nome_do_argumento_2 = valor_para_o_argumento2,
               nome_do_argumento_3 = valor_para_o_argumento3,
               ...)

Exemplo:

seq(from = 1, to = 10)
 [1]  1  2  3  4  5  6  7  8  9 10
  • Parênteses (e aspas) sempre devem estar em “duplas”: se abrirmos, temos que fechar.

O que é um pacote de R?

  • Conjunto de funções úteis pra determinada análise.

  • Eles são disponibilizados em repositórios. Os dois principais repositórios são o CRAN e o GitHub.

  • Os pacotes são instalados apenas uma vez e devem ser carregados sempre que queremos utilizá-los.

Instalar e carregar pacotes

  • Para instalar um pacote que está no CRAN, usamos a função install.packages:
install.packages("tidyverse")
  • Caso o pacote esteja no GitHub, é possível fazer a instalação via função install_github do pacote devtools:
install.packages("devtools")

devtools::install_github('rfsaldanha/microdatasus')
  • Para carregar o pacote usamos a função library:
library(tidyverse)

Boas práticas (resumo)

Nome de variáveis:

  1. Não usar maiúscula, espaços ou acentos pra criar o nome
  2. Não começar o nome com um número
  3. Escolher nomes úteis e não redundantes

Código e comentários:

  1. Inserir espaços só após as vírgulas e parênteses
  2. Comente seu código (com a hashtag #)
  3. Use a quebra de linha para facilitar a leitura

Erros mais comuns!

  • Rodar uma linha de código sem ter rodado as anteriores, que fazem parte de uma “sequência” de comandos para o programa

  • Pequenos erros de digitação ao escrever o código