1 Calculadora simples

O R pode ser usado como uma calculadora avançada. Vamos começar com operações básicas:

# Operações aritméticas básicas
1 + 2 # Soma
## [1] 3
5 - 3 # Subtração
## [1] 2
4 * 2 # Multiplicação
## [1] 8
10 / 2 # Divisão
## [1] 5
2 ^ 3 # Potência (2 elevado a 3)
## [1] 8

2 Atribuição de valores a variáveis

Podemos armazenar valores em variáveis usando <- ou =:

# Atribuindo valores a variáveis
x = 10
y = 5

# Mostrando os valores
x
## [1] 10
y
## [1] 5
# Operações com variáveis
soma = x + y
soma
## [1] 15
produto = x * y
produto
## [1] 50

3 Tipos básicos de dados

O R trabalha com diferentes tipos de dados:

# Números (numéricos)
numero = 15.7
class(numero)
## [1] "numeric"
# Texto (caracteres)
texto = "Olá, Mundo!"
class(texto)
## [1] "character"
# Lógicos (TRUE/FALSE)
logico = TRUE
class(logico)
## [1] "logical"
# Números inteiros
inteiro = 42L #o sufixo L força o número a ser do tipo inteiro (integer), e não do tipo padrão numérico (numeric/double).
class(inteiro)
## [1] "integer"

4 Vetores

Vetores são estruturas básicas no R que armazenam sequências de dados do mesmo tipo:

# Criando vetores com a função c()
vetor_numerico = c(1, 2, 3, 4, 5)
vetor_texto = c("a", "b", "c")
vetor_logico = c(TRUE, FALSE, TRUE)

# Mostrando os vetores
vetor_numerico
## [1] 1 2 3 4 5
vetor_texto
## [1] "a" "b" "c"
vetor_logico
## [1]  TRUE FALSE  TRUE
# Operações com vetores
vetor_numerico * 2
## [1]  2  4  6  8 10
vetor_numerico + 10
## [1] 11 12 13 14 15
# Comprimento do vetor
length(vetor_numerico)
## [1] 5
# Acessando elementos
vetor_numerico[3] # Terceiro elemento
## [1] 3
vetor_numerico[2:4] # Elementos 2 a 4
## [1] 2 3 4
vetor_numerico[c(1, 5)] # Elementos 1 e 5
## [1] 1 5

5 Matrizes

Matrizes são estruturas bidimensionais (linhas x colunas) com dados do mesmo tipo:

# Criando uma matriz
matriz = matrix(1:9, nrow = 3, ncol = 3) #nrow define o Nº de linhas. ncol define Nº de colunas.
matriz
##      [,1] [,2] [,3]
## [1,]    1    4    7
## [2,]    2    5    8
## [3,]    3    6    9
# Com dimensões específicas
matriz2 = matrix(1:12, nrow = 3, ncol = 4, byrow = TRUE) #byrow = FALSE preenche por colunas (padrão do R)
matriz2
##      [,1] [,2] [,3] [,4]
## [1,]    1    2    3    4
## [2,]    5    6    7    8
## [3,]    9   10   11   12
# Acessando elementos da matriz
matriz[2, 3] # Elemento na linha 2, coluna 3
## [1] 8
matriz[2, ] # Toda a linha 2
## [1] 2 5 8
matriz[, 3] # Toda a coluna 3
## [1] 7 8 9
# Operações com matrizes
matriz * 2
##      [,1] [,2] [,3]
## [1,]    2    8   14
## [2,]    4   10   16
## [3,]    6   12   18
matriz + matriz
##      [,1] [,2] [,3]
## [1,]    2    8   14
## [2,]    4   10   16
## [3,]    6   12   18

6 Data frames

Data frames são como tabelas de dados, onde cada coluna pode ter um tipo diferente:

# Criando um data frame
meu_df = data.frame(
  Nome = c("Ana", "Carlos", "Maria", "João"),
  Idade = c(25, 32, 28, 35),
  Altura = c(1.65, 1.80, 1.70, 1.75),
  Estudante = c(TRUE, FALSE, TRUE, FALSE)
)

# Visualizando o data frame
meu_df
##     Nome Idade Altura Estudante
## 1    Ana    25   1.65      TRUE
## 2 Carlos    32   1.80     FALSE
## 3  Maria    28   1.70      TRUE
## 4   João    35   1.75     FALSE
# Estrutura do data frame
str(meu_df)
## 'data.frame':    4 obs. of  4 variables:
##  $ Nome     : chr  "Ana" "Carlos" "Maria" "João"
##  $ Idade    : num  25 32 28 35
##  $ Altura   : num  1.65 1.8 1.7 1.75
##  $ Estudante: logi  TRUE FALSE TRUE FALSE
# Acessando elementos
meu_df$Nome # Coluna "Nome"
## [1] "Ana"    "Carlos" "Maria"  "João"
meu_df[2, ] # Segunda linha
##     Nome Idade Altura Estudante
## 2 Carlos    32    1.8     FALSE
meu_df[, "Idade"] # Coluna "Idade"
## [1] 25 32 28 35
meu_df[meu_df$Idade > 30, ] # Pessoas com mais de 30 anos
##     Nome Idade Altura Estudante
## 2 Carlos    32   1.80     FALSE
## 4   João    35   1.75     FALSE

7 Listas

Listas são estruturas flexíveis que podem conter elementos de diferentes tipos e tamanhos:

# Criando uma lista
minha_lista = list(
  nome = "Lista Exemplo",
  numeros = c(1, 2, 3, 4, 5),
  matriz = matrix(1:4, nrow = 2),
  texto = "Elemento de texto",
  sublista = list(a = 1, b = 2)
)

# Acessando elementos da lista
minha_lista$nome
## [1] "Lista Exemplo"
minha_lista[[2]]
## [1] 1 2 3 4 5
minha_lista[["matriz"]]
##      [,1] [,2]
## [1,]    1    3
## [2,]    2    4
# Estrutura da lista
str(minha_lista)
## List of 5
##  $ nome    : chr "Lista Exemplo"
##  $ numeros : num [1:5] 1 2 3 4 5
##  $ matriz  : int [1:2, 1:2] 1 2 3 4
##  $ texto   : chr "Elemento de texto"
##  $ sublista:List of 2
##   ..$ a: num 1
##   ..$ b: num 2

8 Funções básicas

Vamos conhecer algumas funções úteis:

# Funções matemáticas
sqrt(25) # Raiz quadrada
## [1] 5
abs(-10) # Valor absoluto
## [1] 10
round(3.1415, 2) # Arredondamento
## [1] 3.14
log(10) # Logaritmo natural
## [1] 2.302585
# Funções estatísticas básicas
dados = c(10, 20, 30, 40, 50)
mean(dados) # Média
## [1] 30
median(dados) # Mediana
## [1] 30
sd(dados) # Desvio padrão
## [1] 15.81139
sum(dados) # Soma
## [1] 150

9 Sequências e repetições

# Criando sequências
1:10 # De 1 a 10
##  [1]  1  2  3  4  5  6  7  8  9 10
seq(1, 10, by = 2) # De 1 a 10, pulando de 2 em 2
## [1] 1 3 5 7 9
seq(0, 1, length.out = 5) # 5 números entre 0 e 1
## [1] 0.00 0.25 0.50 0.75 1.00
# Repetindo valores
rep(5, times = 3) # Repete 5 três vezes
## [1] 5 5 5
rep(c(1, 2), times = 3) # Repete 1,2 três vezes
## [1] 1 2 1 2 1 2
rep(c(1, 2), each = 3) # Repete cada elemento 3 vezes
## [1] 1 1 1 2 2 2

10 Referências e recursos para aprender e praticar R

An Introduction to R (Manual oficial do R) - W. N. Venables, D. M. Smith.

Introdução à Linguagem R - Pedro Duarte Faria, João Pedro Figueira Amorim Parga.

Introdução ao software estatístico R - Prof. Matias do Nascimento, Prof. Ng Haig They, Prof. Enéas Konzen.

Introdução ao uso do programa R - Victor Lemes Landeiro, Fabricio B. Baccaro