
Isto é porque no padrao atual todos os anos reopresetnedos por 2 digitos até 68 sao considertados do século atual %y Year without century (00–99). On input, values 00 to 68 are prefixed by 20 and 69 to 99 by 19 – that is the behaviour specified by the 2004 and 2008 POSIX standards, but they do also say ‘it is expected that in a future version the default century inferred from a 2-digit year will change’ Uma solucao é transformar seu vetor strings para anos com 4 digitos e uma possivel forma de fazer isto segue abaixo (vou supor que qq ano entre 00 e 12 é do seculo 21 (20??), caso contrário no 20 (19??)
(ap1 <- strsplit(dates, "/")) [[1]] [1] "12" "30" "68"
[[2]] [1] "12" "31" "68" [[3]] [1] "01" "01" "69" [[4]] [1] "01" "02" "69" [[5]] [1] "02" "01" "92"
(ap2 <- lapply(ap1, function(x) if(x[3] < 12) c(x[1:2], paste("20", x[3], sep="")) else c(x[1:2], paste("19", x[3], sep="")))) [[1]] [1] "12" "30" "1968"
[[2]] [1] "12" "31" "1968" [[3]] [1] "01" "01" "1969" [[4]] [1] "01" "02" "1969" [[5]] [1] "02" "01" "1992"
(ap3 <- unlist(lapply(ap2, function(x) paste(x, collapse="/")))) [1] "12/30/1968" "12/31/1968" "01/01/1969" "01/02/1969" "02/01/1992"
as.Date(ap3, "%m/%d/%Y") [1] "1968-12-30" "1968-12-31" "1969-01-01" "1969-01-02" "1992-02-01"
On Tue, 25 Sep 2012, "Conceição - UNESP Rio Claro, SP" wrote:
Prezados membros, Saudações, Estou tendo dificuldade com a conversão de formatos no comando as.Date (que entendo é diferente do as.date, d minúsculo). Segue abaixo: 1 - comandos dates <- c( "12/30/68","12/31/68", "01/01/69", "01/02/69", "02/01/92") as.Date(dates, "%m/%d/%y") # MÊS/DIA/ANO Quero transformar para ano = 4 dígitos 2- resultados
dates <- c( "12/30/68","12/31/68", "01/01/69", "01/02/69", "02/01/92")
as.Date(dates, "%m/%d/%y") [1] "2068-12-30" "2068-12-31" "1969-01-01" "1969-01-02" "1992-02-01"
Para datas anteriores a 31/12/1968 ele transforma o ano 68 em 2068 ao invés de 1968. Não sei como resolver. -- Atenciosamente, Profa. Dra. Maria da Conceição F. Freitas Tandel UNESP - IGCE- DEMAC RIO CLARO, SP
_______________________________________________ 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.