Aula 1 - Instalação e introdução ao R

Lucas C. L. do Carmo

2020 - 09 - 22

Por que usar o R?

Vantagens

  • É de graça
  • Muito utilizado no meio acadêmico
  • open source o que significa que qualquer pessoa pode fazer modificações e extensões (inclusive você!!)
  • Análises podem ser revisadas e seus erros corrigidos facilmente
  • Usando rmarkdown:: não é mais necessário copiar e colar dados e tabelas de outros softwares para o Word.

Por que não usar o R?

Desvantagens

  • Curva de aprendizado pode ser íngrime
  • Tudo ( grande maioria) é feito na linha de comando
  • Domínio de inglês é quase um pre-requisito

Instalação

Instale primeiro o R através do link abaixo:

R

Depois instale o RStudio

R Studio

Como usar o RStudio

Funcionalidades do R

A funcionalidade mais básica do R é ser uma calculadora.

1 + 2
[1] 3
10^6 / 10^7
[1] 0.1
2 + 8 * 2 #<<
[1] 18

Uma calculadora que obedece a ordem de operações

Vantagens em relação a uma calculadora

É possível criar variáveis (objetos) que armazenam os valores de cálculos já feitos.

# armazena o resultado da operação 
# em um objeto chamado "resultado"
resultado <- 70 * 7 


# retorna o valor do objeto criado
resultado
[1] 490

Tipos de dados (classes)

  1. Numéricos:
    • Decimais (numeric)
    • Inteiros (Integer)
  2. Texto (Character ou caracteres)
  3. Fatores
  4. Lógicos (TRUE, FALSE)
  5. Complexo (3 + 2i)
  6. NA, NaN e NULL
  7. Raw

Tipos de objetos

Objetos são as estruturas onde você armazena os resultados das operações ou qualquer valor que seja necessário para o trabalho que será realizado.

  1. Vetores
  2. Matrizes
  3. Listas
  4. Dataframes
  5. Fórmulas
  6. Funções

Criando Objetos

Para criar um objeto você deve seguir a seguinte sintaxe:

nome_do_objeto <- valor atribuído ao objeto

Regras:

  • Nome do objeto não pode iniciar com um número;
  • Nome do objeto não pode ter espaços ou caracteres especiais (%, $, &, +, -);
  • Deve ser descritivo mas não muito longo.

Vetores

Vetores são objetos que podem conter apenas um tipo de dado

vetor_1 <- c(1,4,8,345,7567)

vetor_2 <- c("abc", 76, "nove", FALSE, "9")
vetor_1
[1]    1    4    8  345 7567
vetor_2
[1] "abc"   "76"    "nove"  "FALSE" "9"    
class(vetor_2)
[1] "character"

Não é possível representar a string “abc” como um número, portanto todos os elementos são convertidos para o tipo (classe) character

Matrizes

Matrizes são como vetores porém bidimensionais:

matriz <- matrix(c(1,4,7,10), ncol = 2, byrow = TRUE)

matriz
     [,1] [,2]
[1,]    1    4
[2,]    7   10

\[ matriz = \begin{bmatrix} 1 & 4 \\ 7 & 10 \\ \end{bmatrix} \]

Listas

Listas são objetos mais complexos que aceitam vários tipos de dados em um mesmo objeto

lista <- list("a", 45, TRUE, "texto longo")
lista
[[1]]
[1] "a"

[[2]]
[1] 45

[[3]]
[1] TRUE

[[4]]
[1] "texto longo"

É possível colocar outros objetos dentro de listas, assim como vetores e matrizes.

Mais listas

lista_2 <- list(
    "abc",
    list(
        "elemento" = 10,
        "matriz_lista" = matrix(c(1,2,3,4,5,8), ncol = 2),
        "vetor_lista" = c(1,6,4,4,5,7,7)
    )
)

Mais listas

lista_2
[[1]]
[1] "abc"

[[2]]
[[2]]$elemento
[1] 10

[[2]]$matriz_lista
     [,1] [,2]
[1,]    1    4
[2,]    2    5
[3,]    3    8

[[2]]$vetor_lista
[1] 1 6 4 4 5 7 7

Dataframes

Dataframes são as conhecidas tabelas. Objetos com linhas e colunas e estrutura retangular.

tabela <- data.frame(
    x = 1:6,
    y = c(12, 3, 2, 5.1, 4.5, 0.05),
    z = rep(c("a","b"), 3)
)
  x     y z
1 1 12.00 a
2 2  3.00 b
3 3  2.00 a
4 4  5.10 b
5 5  4.50 a
6 6  0.05 b

Selecionando elementos (vetores)

Frequentemente é necessário se selecionar os elementos de dentro de vetores, matrizes, dataframes, e listas e fazemos isso usando o operador [].

Cada elemento dos objetos contém um índice por exemplo:

elementos <- c("indice 1", "indice 2", "indice 3")

elementos[1]
[1] "indice 1"
elementos[c(2,3)]
[1] "indice 2" "indice 3"
elementos[-3] # seleciona todos menos o terceiro elemento
[1] "indice 1" "indice 2"

Selecionando elementos (matrizes)

matriz
     [,1] [,2]
[1,]    1    4
[2,]    7   10
matriz[1,2] # [linha, coluna]
[1] 4
matriz[ ,1] # apenas a primeira coluna
[1] 1 7
matriz[2, ] # apenas a segunda coluna
[1]  7 10

Funções e Fórmulas

Funções e fórmulas são tipos de objetos mais avançado e iremos discutí-los nas próximas aulas.

Operadores Aritméticos

Temos os operadores aritméticos como já mostrados anteriormente.

Operador Descrição Exemplo
+ Adição 4 + 5 = 9
- Subtração 9 - 5 = 4
* Multiplicação 3 * 4 = 12
/ Divisão 90 / 3 = 30
^ ou ** Exponenciação 10^2 = 100
X %% Y Modulus (restante inteiro da divisão de x por y) 15 %% 2 = 1
X %/% Y Divisão de número inteiro 5 %/% 2 = 2

Operadores Lógicos

Os operadores lógicos são operadores de equalidade ou inequalidade que retornam valores TRUE ou FALSE (verdadeiro ou falso).

Operador Descrição Exemplo
>, < Maior que, menor que 1 > 2 = FALSE
>=, <= Maior ou igual, menor ou igual 22 >= 22 = TRUE
== Exatamente igual 3 == 3 = TRUE
!= Não igual a 3 != 4 = TRUE
!x Negação 15 %% 2 = 1
x | y x OU y 4 | 12 < 10 = TRUE
x & y x E y 4 & 12 < 10 = FALSE
isTRUE(x) Testa se x é TRUE

Condicionais

Há a possibilidade de executar operações ou não dependendo da condição expressada.

se (condição for TRUE){
    Executar o código aqui dentro
}
n_ligacoes_carbono <- 5

if (n_ligacoes_carbono > 4) {
    warning("O Carbono não pode ter mais que 4 ligações")
}

Condicionais (continuação)

n_ligacoes_carbono <- 3

if (n_ligacoes_carbono > 4) {
    warning("O Carbono não pode ter mais que 4 ligações")
} else {#<<
    message("Número de ligações do carbono OK")
}

Estruturas de repetição

Loop do tipo for

for (i in 1:10) {
    print(i)
}
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 6
[1] 7
[1] 8
[1] 9
[1] 10
para (elemento na sequência 1 a 10){
    imprima(elemento)
}

for loop

frutas <- c("banana", "maçã", "ameixa")

for (fruta in frutas) {
    print(fruta)
}
[1] "banana"
[1] "maçã"
[1] "ameixa"
cores <- c("amarela","vermelha")

for (fruta in frutas) {
    for (cor in cores) {
        print(paste("Tal",fruta,"é",cor))
    }
}
[1] "Tal banana é amarela"
[1] "Tal banana é vermelha"
[1] "Tal maçã é amarela"
[1] "Tal maçã é vermelha"
[1] "Tal ameixa é amarela"
[1] "Tal ameixa é vermelha"

while loop

Loops while se repetem até que a expressão avaliada seja FALSE.

i <- 1

while (i < 6) {
    print(paste("Iteração",i))
    i <- i + 1
}
[1] "Iteração 1"
[1] "Iteração 2"
[1] "Iteração 3"
[1] "Iteração 4"
[1] "Iteração 5"
atribuindo valor de 1 a i

enquanto (i menor que 6){
    imprima (Iteração i)
    adicione 1 a i
}

Resumo da aula

  • Instalamos o R e o RStudio
  • Aprendemos quais são os tipos de dados (classes) básicos do R
  • Aprendemos o que são objetos e como atribuir valores a eles
    • Vetores, Matrizes, Listas, Dataframes, Fórmulas, Funções
  • Aprendemos a selecionar elementos dos objetos
  • Aprendemos a usar alguns operadores aritméticos e lógicos
  • Aprendemos a usar estruturas de condição if e if else
  • Aprendemos a escrever um for loop e um while loop