1 + 1 # Soma
[1] 2
1 - 1 # Subtração
[1] 0
2 * 3 # Multiplicação
[1] 6
10 / 2 # Divisão
[1] 5
2 ^ 3 # Potenciação
[1] 8
Existem muitos conceitos básicos que são fundamentais para quem está começando a programar em R.
Nesta aula, vamos abordar alguns conceitos considerados mais importantes para as próximas aulas.
O R permite realizar operações matemáticas básicas, como soma, subtração, multiplicação, divisão, potenciação, entre outras.
1 + 1 # Soma
[1] 2
1 - 1 # Subtração
[1] 0
2 * 3 # Multiplicação
[1] 6
10 / 2 # Divisão
[1] 5
2 ^ 3 # Potenciação
[1] 8
A ordem matemática das operações também vale no R. Por exemplo, a expressão 2 + 3 * 4
será calculada como 2 + (3 * 4)
:
2 + 3 * 4
[1] 14
No R, um objeto é uma estrutura de dados que armazena valores: podemos armazenar um valor único, um conjunto de valores, uma base de dados, entre outros.
É muito útil armazenar valores em objetos, pois podemos reutilizá-los em diferentes partes do código, sem precisar digitar o valor novamente.
Existem alguns objetos já criados no R, como por exemplo o objeto letters
, que armazena as letras do alfabeto:
pi
[1] 3.141593
letters
[1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s"
[20] "t" "u" "v" "w" "x" "y" "z"
O R é case-sensitive, ou seja, ele diferencia letras maiúsculas de minúsculas. Portanto, nome
é diferente de Nome
.
Por exemplo, o objeto pi
armazena o valor de π (com um número limitado de casas decimais). O nome do objeto é escrito em minúsculas:
pi
[1] 3.141593
Se tentarmos acessar o objeto com o nome em maiúsculas, o R irá retornar um erro, pois esse objeto não existe:
Pi
Error: object 'Pi' not found
Para criar um objeto, precisamos definir um nome, e atribuir um valor à este nome. Para isso, usamos o operador de atribuição: <-
. Um atalho para esse operador é o Ctrl
+ -
no Windows, ou Option
+ -
no Mac .
No exemplo a seguir, criamos um objeto chamado nome_do_curso
e atribuímos a ele o texto "Universidade Federal do ABC"
:
<- "Universidade Federal do ABC" nome_do_curso
Podemos acessar o valor armazenado em um objeto digitando o nome do objeto:
nome_do_curso
[1] "Universidade Federal do ABC"
O objeto apenas será alterado se utilizarmos o operador de atribuição novamente. Por exemplo, a função tolower()
transforma todas as letras de um texto em minúsculas:
tolower(nome_do_curso)
[1] "universidade federal do abc"
Mas como não utilizamos a atribuição, o objeto nome_do_curso
não foi alterado:
nome_do_curso
[1] "Universidade Federal do ABC"
Para alterar o objeto, precisamos atribuir o resultado da função tolower()
ao objeto nome_do_curso
:
<- tolower(nome_do_curso) nome_do_curso
Agora, o objeto nome_do_curso
foi alterado:
nome_do_curso
[1] "universidade federal do abc"
Portanto, cuidado: ao criar um objeto com nome igual à outro objeto existente, o objeto anterior será substituído pelo novo objeto.
Existem diferentes tipos de objetos no R, e cada tipo de objeto possui diferentes propriedades. Os principais tipos de objetos que utilizaremos ao longo do curso são: vetores e data.frames.
Vetores armazenam um conjunto de valores de uma dimensão. Eles podem ser criados com a função c()
, que significa combine (combinar). Por exemplo, para criar um vetor com os números de 1 a 5:
<- c(1, 2, 3, 4, 5) vetor_de_numeros
Os vetores podem armazenar diferentes tipos de dados, como números, textos, fatores, entre outros. Porém cada vetor pode armazenar apenas um tipo de dado. Por exemplo, se tentarmos criar um vetor que armazena números e textos, o R irá converter todos os valores para texto. Essa propriedade é chamada de coerção.
<- c(1, 2, "três", 4, 5)
vetor_misto class(vetor_misto)
[1] "character"
vetor_misto
[1] "1" "2" "três" "4" "5"
No geral, podemos converter dados sem perder informação seguindo essa ordem: Lógico > Inteiro > Numérico > Texto.
Os data.frames são conjuntos de valores com duas dimensões: linhas e colunas. Porém, diferente do que vimos para as matrizes, os data.frames podem armazenar diferentes tipos de dados em cada coluna.
Esse é o principal tipo de objeto que utilizaremos nesse curso, pois ele é muito útil para armazenar dados tabulares.
Existem alguns data.frames já criados no R, como o airquality
, que armazena dados sobre a qualidade do ar na cidade de Nova York, em 1973. Essas são as primeiras linhas do data.frame airquality
:
head(airquality)
Ozone Solar.R Wind Temp Month Day
1 41 190 7.4 67 5 1
2 36 118 8.0 72 5 2
3 12 149 12.6 74 5 3
4 18 313 11.5 62 5 4
5 NA NA 14.3 56 5 5
6 28 NA 14.9 66 5 6
Para criar um data.frame, podemos usar a função data.frame()
. Entretanto, o mais comum é importar dados de arquivos, como CSV, Excel, ou de bancos de dados. Falaremos sobre como importar dados na próxima aula.