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`
a <- 1

# 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

x <- 1
x1 <- 2
objeto <- 3
meu_objeto <- 4
meu.objeto <- 5

# Não permitido

1x <- 1
_objeto <- 2
meu-objeto <- 3

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.

b <- 2
B <- 3

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
divisao <- 33 / 11

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?

meu-objeto <- 1
## Error in meu - objeto <- 1: object 'meu' not found

  1. Ou com um ponto.↩︎


Curso-R