[R-br] Ordenar meses

Edson Lira edinhoestat em yahoo.com.br
Quinta Julho 4 14:11:04 BRT 2013


Esta aí uma rotina que uso em um banco de dados para doadores de sangue


tip_doa$mês<-factor(tip_doa$mes, levels=c("jan","fev","mar","abr","mai","jun"
,"jul","ago","set","out","nov","dez"))

tip_doa$mês esta variável recebe ordenada a variável tip_doa$mes

[  ]'s.

Edson Lira
Estatístico
Manaus-Amazonas


________________________________
 De: Augusto Ribas <ribas.aca em gmail.com>
Para: r-br em listas.c3sl.ufpr.br 
Enviadas: Quinta-feira, 4 de Julho de 2013 10:30
Assunto: Re: [R-br] Ordenar meses
 


Ola, se são apenas meses, talvez fosse mais fácil usar eles como inteiros, número inteiros de 1 a 12, ai é so colocar na ordem numérica crescente que vai ficar organizado.

Se os nomes estiverem em português, eu não tenho certeza como fazer, mas se você passar para o inglês, uma possibilidade talvez seria usar o as.Date do R. Mas vc precisaria de datas completas, como por exemplo:

datas <- as.Date(c("01/03/2013","01/02/2013","01/05/2013","01/04/2013","01/06/2013","01/01/2013"),"%d/%m/%Y")
class(datas)

Notem que os dados são de uma classe Data agora.
Outra coisa, é que o formato ai eu descrevi no segundo argumento la, esse aqui "%d/%m/%Y", olhe o help da função, da para os nomes dos meses, nomes abreviados etc. Aqui tem um guia legal http://www.statmethods.net/input/dates.html

Umas vez que vc converteu para data, da para usar comandos como rank ou sort nos dados.

> sort(datas)
[1] "2013-01-01" "2013-02-01" "2013-03-01" "2013-04-01" "2013-05-01" "2013-06-01"
> order(datas)
[1] 6 2 1 4 3 5



E a partir daqui é so usar essa informação para ordenar sua matriz.

#
matriz<-matrix(rnorm(6*4),ncol=4,nrow=6)

matriz
matriz[order(datas),]
#


Bem é isso, existem outros pacotes para lidar com datas também, como por exemplo o lubridate, talvez vale a pena dar uma olhada, se for precisar muito desse tipo de coisa

Espero ter ajudado.






Em 2 de julho de 2013 14:28, Aline Lipsky <line_lips em hotmail.com> escreveu:


>
>Boa tarde,
>
>
>Eu tenho uma matriz 12 x 43, e os nomes das linhas são o meses em ordem alfabética. 
>Como faço para por em ordem cronológica?
>
>
>Grata,
>
>
>Aline F. Lipsky
>_______________________________________________
>R-br mailing list
>R-br em listas.c3sl.ufpr.br
>https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
>


-- 

Grato
Augusto C. A. Ribas
 
Site Pessoal: http://recologia.com.br/
Github: https://github.com/Squiercg
Lattes: http://lattes.cnpq.br/7355685961127056

_______________________________________________
R-br mailing list
R-br em listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130704/6bc109f6/attachment.html>


Mais detalhes sobre a lista de discussão R-br