
Não estou conseguindo rodar vosso exemplo, falta alguma biblioteca por acaso?
lines <- "
+ 5928671,14,-3.831290,-38.50146,2015-02-01 00:00:01 + 5926098,44,-3.709390,-38.58986,2015-02-02 00:01:13 + 5915217,145,-3.743671,-38.48788,2015-02-03 00:01:16 + 5444641,174,-3.766271,-38.57452,2015-02-01 00:01:38 + 2250561,977,-3.738654,-38.48400,2015-02-02 00:01:47 + 5671754,14,-3.831290,-38.50146,2015-02-03 00:02:43 + "
con <- textConnection(lines)
df <- read.csv(con, header = F)
close(con)
dias <- unique(as.Date(df[, 5]))
for (i in 1:length(dias)) {
+ dfi <- df[as.Date(df[, 5]) == dias[i], ] + diretorio <- paste(getwd(), "rsc/data", format(dias[i], format = "%Y-%m-%d"), + sep = "/", collapse = "") + mkdirs(diretorio) + write.csv(dfi, paste(diretorio, "saida.csv", sep = "/", collapse = "") + } Error: unexpected '}' in: " write.csv(dfi, paste(diretorio, "saida.csv", sep = "/", collapse = "") }" 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. --- Este email foi escaneado pelo Avast antivírus. http://www.avast.com