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.