7.10 Dados ordenados
Duas operações comuns em análise de dados são a ordenação e a classificação dados de um vetor.
A função sort()
arranja os dados de um vetor numérico em ordem crescente ou descrescente (se argumento for especificado como decreasing = TRUE
). Se o vetor for de caracteres, o arranjo segue a ordem alfabética dando precedência às letras em minúsculo.
sort(prec_alt)
#> mai jul ago set out fev dez jan
#> 0 21 42 100 120 200 208 250
sort(prec_alt, decreasing = TRUE)
#> jan dez fev out set ago jul mai
#> 250 208 200 120 100 42 21 0
sort(names(prec_alt))
#> [1] "abr" "ago" "dez" "fev" "jan" "jul" "jun" "mai" "mar" "nov" "out" "set"
A ordem de classificação de cada elemento de um vetor numérico é obtida com a função order()
:
prec_alt
#> jan fev mar abr mai jun jul ago set out nov dez
#> 250 200 NA NA 0 NA 21 42 100 120 NA 208
order(prec_alt)
#> [1] 5 7 8 9 10 2 12 1 3 4 6 11
O resultado indica que o 5º elemento de prec_alt
é o menor valor e o 1º elemento é o de maior valor. Isso pode ser facilmente verificado passando este resultado na indexação da prec_alt
.
# equivalente a sort()
prec_alt[order(prec_alt)]
#> mai jul ago set out fev dez jan mar abr jun nov
#> 0 21 42 100 120 200 208 250 NA NA NA NA
Nota-se então, que por padrão na saída da order()
os elementos faltantes são colocados nas últimas posições (no exemplo: 3, 4, 6, 11). Para remover os casos faltantes especificamos o argumento na.last = NA
.
order(prec_alt, na.last = NA)
#> [1] 5 7 8 9 10 2 12 1