7.1 Propriedades

  • typeof() para descobrir o tipo de dado

  • length() para descobrir o tamanho de um tipo de dado

  • attributes (informações acionais específicas do dado), entre eles o atributo mais comum está o names().

7.1.1 Nomeando vetores

As 3 formas equivalentes mais comuns de criar vetores com nomes são demostradas abaixo com um exemplo de dados mensais de precipitação.

  • Durante a criação, com a função c() incluindo os nomes nos argumentos
# vetor de chuva mensal para um dado ano
prec <- c(
  jan = 300, 
  fev = 150,
  mar = 210,
  abr = 12, 
  mai = 0, 
  jun = 0, 
  jul = 12, 
  ago = 22, 
  set = 100, 
  out = 120, 
  nov = 10,  
  dez = 280
  )
  • Modificando um vetor com a função names()<-
prec <- c(300, 200, 210, 12, 0, 0, 12, 22, 100, 120, 10, 280)
meses <- c("jan", "fev", "mar", "abr", "mai", "jun", "jul", "ago", "set", "out", "nov", "dez")
names(prec) <- meses
prec
#> jan fev mar abr mai jun jul ago set out nov dez 
#> 300 200 210  12   0   0  12  22 100 120  10 280
  • Criando um vetor modificado
prec <- setNames(
  object = c(300, 200, 210, 12, 0, 0, 12, 22, 100, 120, 10, 280),
  nm = c("jan", "fev", "mar", "abr", "mai", "jun", "jul", "ago", "set", "out", "nov", "dez")
)
prec
#> jan fev mar abr mai jun jul ago set out nov dez 
#> 300 200 210  12   0   0  12  22 100 120  10 280

Nomes não podem ser repetidos entre os elementos, porque a seleção de um subconjunto do vetor baseada nos nomes retornará somente o primeiro elemento que tiver nome repetido.

Embora não faça muito sentido, nem todos elementos precisam ter nomes. A saída da função names() retornará um vetor caractere vazio ("") para aqueles elementos sem nomes especificados.

(meses <- c(jan = 1, fev = 2, 3:12))
#> jan fev                                         
#>   1   2   3   4   5   6   7   8   9  10  11  12
names(meses)
#>  [1] "jan" "fev" ""    ""    ""    ""    ""    ""    ""    ""    ""    ""

Quando nenhum nome é especificado, names() retornará NULL23.

names(1:12)
#> NULL

Para remover os nomes de um vetor, podemos usar a função unname() ou names() <- NULL.

prec_clim <- c(230, 205, 160, 100, 60, 30, 40, 60, 110, 165, 200, 220)
names(prec_clim) <- names(prec)
prec_clim
#> jan fev mar abr mai jun jul ago set out nov dez 
#> 230 205 160 100  60  30  40  60 110 165 200 220
unname(prec_clim)
#>  [1] 230 205 160 100  60  30  40  60 110 165 200 220
names(prec_clim) <- NULL
prec_clim
#>  [1] 230 205 160 100  60  30  40  60 110 165 200 220

Nas próximas seções frequentemente usaremos os vetores prec e prec_clim. É importante então contextualizar essas variáveis. A variável prec consiste na precipitação mensal observada em um ano qualquer em um dado local. A variável prec_clim refere-se aos valores esperados de precipitação mensal24 (médias de pelo menos 30 anos) do mesmo local.


  1. Nós conheceremos mais detalhes sobre o NULL na sessão 7.8.

  2. Também conhecidos como normais climatológicas de precipitação de um local.