2  Nomeando Objetos

Status 🟦🟦🟦

2.1 Regras

A linguagem R aceita muitas possibilidades para nomeação de objetos. Inclusive podem ser criados objetos com espaços em seus nomes e até mesmo com caracteres especiais (desde que entre aspas ou crases).

x <- 10

.x <- 10

`nome com espaco` <- 55

'teste 1' <- 2
Nomes Significativos

Escolha nomes intuitivos e que facilitem a identificação do conteúdo armazenado nos objetos.

Um objeto criado através do uso de aspas ou crases tem seu conteúdo acessado quando “chamado” com crases (backticks). Aspas são entendidas como sinalização para strings e assim não retornam o conteúdo do objeto e sim a própria string informada.

'teste 1' # retorna como string
[1] "teste 1"
`teste 1` # Exibe conteúdo do objeto
[1] 2

2.1.1 Primeiro Caractere

Existem algumas regras para iniciar o nome dos objetos. Alguns caracteres “especiais” não podem ser usados, bem como os números.

$x <- 10  
Error: <text>:1:1: '$' inesperado
1: $
    ^
55x <- 10 
Error: <text>:1:3: unexpected symbol
1: 55x
      ^

Perceba que números podem ser usados nos nomes, desde que o primeiro caractere seja ‘válido’. Mas o mesmo não ocorre com caracteres “especiais”.

x55x <- 888

x55x
[1] 888
x$ <- 10
Error: <text>:1:4: unexpected assignment
1: x$ <-
       ^

Uma alternativa se dá mais uma vez com o uso de aspas ou crases. Com elas é possível ‘burlar’ estas limitações.

`teste @!&` <- 123456

`teste @!&`
[1] 123456
'55 teste @!&' <- 10

`55 teste @!&`
[1] 10

Apesar de possível, objetos com nomes mais complicados como os exemplificados acabam tornando a vida do programador um pouco mais difícil. Em geral, evite caracteres caracteres especiais e espaços nos nomes. Caso algum dado (bases de dados) seja carregado de arquivo externo com este tipo de caracteres, faça a uniformização dos nomes o quanto antes.

2.1.1.1 Objetos “Ocultos”

Objetos podem ser criados com “.” no início de seus nomes desde que o segundo carctere seja uma letra. Estes são objetos “ocultos” e portanto não aparecem em um comando ls “puro”, por exemplo. Tampouco são exibidos na aba Environment do RStudio. Para visualizá-los através da função ls deve ser usado o parâmetro all.names = T.

ls()
[1] "55 teste @!&"    "nome com espaco" "repo"            "teste @!&"      
[5] "teste 1"         "x"               "x55x"           
ls(all.names = T)
 [1] ".main"               ".QuartoInlineRender" ".x"                 
 [4] "55 teste @!&"        "nome com espaco"     "repo"               
 [7] "teste @!&"           "teste 1"             "x"                  
[10] "x55x"               

2.1.2 Case Sensitive

R é uma linguagem case sensitive, ou seja, ela diferencia maiúsculas de minúsculas. Assim um objeto com nome de Teste é diferente teste, tesTe, TESTE…

teste <- 10
Teste <- 15
tesTe <- 20
TESTE <- 25

ls()
 [1] "55 teste @!&"    "nome com espaco" "repo"            "teste"          
 [5] "tesTe"           "Teste"           "TESTE"           "teste @!&"      
 [9] "teste 1"         "x"               "x55x"           
Campos de Tabelas

Campos (variáveis) de dados tabulados, como planilhas de Excel, seguem as mesmas regras. Este tipo de dado será tratado no capítulo sobre data frames.

2.2 Resumo

Resumo das Regras para Nomes
Caracteres Regra Exceção Exemplo
Letras Permitido

objeto

variavel

Números Permitido, após primeiro caractere Iniciado com ‘.’

objeto1

1objeto

.1objeto

Espaços Não permitido Permitido com uso de aspas ou crases

teste 1

‘teste 2’

‘2 teste’

Caracteres especiais Não permitido Permitido com uso de aspas ou crases

#teste

‘# teste’

‘t #$$%’

Ponto ‘.’ Uso livre inclusive no início

objeto.2

.objeto.2

2.3 Convenções

Conforme o seu código em R (e de outra linguagem qualquer) for crescendo você perceberá rapidamente a necessidade de identificar de forma intuitiva os objetos criados. Assim, é muito interessante a utilização de alguma convenção para facilitar sua vida. Existem diversas delas, como camelCase, snake_case, SCREAMING_SNAKE_CASE, PascalCase, etc.

# camelCase
objetoTeste <- 'Teste camelCase'

# snake_case
objeto_teste <- 'Teste snake_case'

Um bom guia é o The tidyverse style guide. Tenha sempre em mente que sue código deve ser lido com facilidade no futuro e muitas vezes por outros usuários.

Neste material os nomes de objetos e derivados seguirão a tabela abaixo. Estas definições foram escolhidas a fim de uniformizar o conteúdo apresentado e se baseiam em experiência de uso e no Tidyverse Style Guide. Mais detalhes em Convenções.

Tipo Objeto Convenção Exemplo
Data.frame, tibble ou data.table snake_case iniciado por df (data frame) df_clientes
Variáveis de datasets SCREAMING_SNAKE_CASE NOME_CLIENTE
Funções camelCase iniciado por fn, sendo a primeira palavra após fn um verbo fnBuscarClientes
Demais (vetores, listas, etc.) snake_case nomes_cidades
Dica

Evite usar “.” em nome de objetos, pois através do ponto o R acessa funções (métodos) de acordo com a classe do objeto. Usar o ponto pode causar certa confusão. Mais detalhes Funções.


Grolemund (2014)

R Core Team (2023)

Wikipedia (2023)

Última atualização: 18/09/2023 - 19:55:08