<- 10
x
<- 10
.x
`nome com espaco` <- 55
'teste 1' <- 2
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).
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”.
<- 888
x55x
x55x
[1] 888
$ <- 10 x
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…
<- 10
teste <- 15
Teste <- 20
tesTe <- 25
TESTE
ls()
[1] "55 teste @!&" "nome com espaco" "repo" "teste"
[5] "tesTe" "Teste" "TESTE" "teste @!&"
[9] "teste 1" "x" "x55x"
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
Caracteres | Regra | Exceção | Exemplo |
---|---|---|---|
Letras | Permitido | objeto variavel |
|
Números | Permitido, após primeiro caractere | Iniciado com ‘.’ | objeto1
|
Espaços | Não permitido | Permitido com uso de aspas ou crases |
‘teste 2’ ‘2 teste’ |
Caracteres especiais | Não permitido | Permitido com uso de aspas ou crases |
‘# 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
<- 'Teste camelCase'
objetoTeste
# snake_case
<- 'Teste snake_case' objeto_teste
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 |
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