
Diego, ok. Então o uso do "in" faz acesso direto usando a representação interna, "crua". Enquanto que deixar na estrutura de array, permite o uso do "objeto original". Obrigado por detalhar, embora eu ainda ache o comportamento estranho para uma estrutura de "for each", mas tudo bem. Cada dia um aprendizado novo. Atenciosamente, David F. Em 29 de maio de 2015 18:40, Diego Miro <d.miro1089@gmail.com> escreveu:
David, desculpe a demora em responder.
O que ocorre é que a função *as.Date* armazena o objeto o qual foi passado para ela com um número. Ela apenas "mostra" como data, com referência a uma data inicial qualquer (por default 01/01/1970). Quando você usa essas datas (armazenadas como número) no for com o operador in, elas de fato viram números.
Tem algumas formas de contornar isso, a que eu te mandei é a que me pareceu mexer menos na lógica do seu script.
Você poderia, por exemplo, aplicar novamente a função *as.Data* dentro do for. Substituir *format(dia, format = "%Y-%m-%d")* por *as.Date(dia, origin = "1970-01-01")*
Um abraço.
_______________________________________________ R-br mailing list R-br@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.