3.3 Objetos e funções
O R te permite salvar valores dentro de um objeto. Um objeto é simplesmente um nome que guarda um valor. Para criar um objeto, utilizamos o operador <-
.
No exemplo abaixo, salvamos o valor 1
em a
. Sempre que avaliarmos o objeto a
, o R vai devolver o valor 1.
# Salvando `1` em `a`
<- 1
a
# Avaliando o objeto `a`
a## [1] 1
Existem algumas regras para dar nomes aos objetos. A mais importante é: o nome deve começar com uma letra4. O nome pode conter números, mas não pode começar com números. Você pode usar pontos .
e underlines _
para separar palavras.
# Permitido
<- 1
x <- 2
x1 <- 3
objeto <- 4
meu_objeto <- 5
meu.objeto
# Não permitido
<- 1
1x <- 2
_objeto -objeto <- 3 meu
Atenção!
O R diferencia letras maiúsculas e minúsculas, isto é, b
é considerado um objeto diferente de B
. Rode o exemplo abaixo e observe que dois objetos diferentes são criados no Environment.
<- 2
b <- 3
B
b## [1] 2
B## [1] 3
O objeto mais importante para cientistas de dados é, claro, a base de dados. No R, uma base de dados é representada por objetos chamados de data frames. Na próxima seção, vamos entender o que são esses objetos.
Enquanto objetos são nomes que guardam valores, funções no R são nomes que guardam um código de R. A ideia é muito simples: sempre que você rodar uma função, o código que ela guarda será executado e um resultado nos será devolvido.
A sintaxe para usar uma função é a seguinte:
nome_da_funcao(arg1, arg2, argn)
Entre parênteses, após o nome da função, temos o que chamamos de argumentos. Uma função pode ter qualquer número de argumentos e eles são sempre separados por vírgula.
Basicamente, uma função recebe seus argumentos, executa uma ação sobre ou a partir deles e devolve um resultado. Por exemplo
sum(1, 2)
## [1] 3
A função sum()
recebeu os argumentos 1
e 2
, somou os dois valores e devolveu o resultado dessa operação: o valor 3
.
Falaremos mais sobre funções na Seção 3.11.
Exercícios
1. Qual a diferença entre os códigos abaixo?
# Código 1
33 / 11
# Código 2
<- 33 / 11 divisao
2. Multiplique a sua idade por 12 e salve o resultado em um objeto chamado idade_em_meses
. Em seguida, multiplique esse objeto por 30 e salve o resultado em um objeto chamado idade_em_dias
.
3. Por que o nome meu-objeto
não pode ser utilizado para criar um objeto? O que significa a mensagem de erro resultante?
-objeto <- 1
meu## Error in meu - objeto <- 1: object 'meu' not found
Ou com um ponto.↩︎