Re: [R-br] Outro problema com datas!!

Olá Tura! Está acontecendo examente isso, as datas são interpretadas como strings. Elas são do tipo "Mês-Ano". Tive que fazer todo aquele procedimento que o Benilton passou porque estava com problemas ao plotar os gráficos. Na verdade ainda estou, mais contornei de uma outra forma menos elegante. Já tentei fazer um "as.Date" e outras coisas, mais nada disso faz com o R entenda que aqueles números são datas. É provável que haja algum padrão do tipo "AA - MM - DD", ou algo do gênero. Abraços. Allaman (S,f,P) M.Sc Ivan Bezerra Allaman Zootecnista Doutorando em Produção Animal/Aquicultura - UFLA email e msn - ivanalaman@yahoo.com.br Tel: (35)3826-6608/9900-2924

Caro Ivan, Segue meu CMR de como entrar com os dados de data no formato mm-aa e criar um fator cujos níveis estejam na ordem cronológica. A (minha) jogada foi passar as strings mm-aa para dd-mm-aa e converter para as.Date, então converter para fator. No final, como exercício de expressão regular (tô aprendendo), transformei a representação dos níveis de aaaa-mm-dd para mm-aa assim como nos dados importados. lines <- "trati dat vari 1 03-08 0.0000000 1 04-08 0.3472222 1 05-08 0.0000000 1 06-08 1.7361111 1 07-08 2.7777778 1 08-08 2.0833333 1 09-08 2.4305556 1 10-08 0.0000000 1 11-08 0.0000000 1 12-08 0.0000000 1 01-09 0.0000000 1 02-09 26.7361111 1 03-09 70.4861111 1 04-09 99.3055556 1 05-09 99.3055556" da <- read.table(textConnection(lines), header=TRUE, stringsAsFactors=FALSE); closeAllConnections() str(da) dat <- da$dat # joga para um vetor só para facilitar a manipulação sort(dat) # ordenação alphanumerica feita na string dat <- paste("01-", dat, sep="") # adiciona dia 01 a todas datas para ter dd-mm-aa dat <- as.Date(dat, format="%d-%m-%y") # converte para vetor de datas str(dat) format(dat, "%m-%y") # representa no formato mm-aa como entrou plot(da$vari~dat) # gráfico sai na ordem correta das datas plot(vari~factor(dat), da) # sai na ordem alphanumerica dat.fac <- factor(dat) # passa datas para fator levels(dat.fac) # níveis tem a ordem cronológica plot(da$vari~dat.fac) # é fator mas sai na ordem correta levels(dat.fac) <- gsub("\\d+(\\d{2})\\-(\\d+)\\-\\d+", "\\2\\-\\1", levels(dat.fac)) # troca a represetação dos níveis plot(da$vari~dat.fac) # com níveis mm-aa e na ordem correta À disposição. Walmes. ========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================

On Wed, 2011-05-25 at 05:00 -0700, Ivan Bezerra Allaman wrote:
Olá Tura!
Está acontecendo examente isso, as datas são interpretadas como strings. Elas são do tipo "Mês-Ano". Tive que fazer todo aquele procedimento que o Benilton passou porque estava com problemas ao plotar os gráficos. Na verdade ainda estou, mais contornei de uma outra forma menos elegante. Já tentei fazer um "as.Date" e outras coisas, mais nada disso faz com o R entenda que aqueles números são datas. É provável que haja algum padrão do tipo "AA - MM - DD", ou algo do gênero.
Ivan tem uma solução simples troque sua variável de '03-08' para '15-03-08' e usa as.Date(variável,format='%d-%m-%y') ... Veja se isto resolve... -- []s Tura
participantes (3)
-
Bernardo Rangel Tura
-
Ivan Bezerra Allaman
-
Walmes Zeviani