
Tentei transformar 21/04/87 em anos e não consegui! x=21/04/87 (c(Sys.Date() - as.Date(gsub("(\\d{2})$", "19\\1", x), "%d/%m/%Y")) /365.25) %/% 1 [1] NA

Mauro, tenta assim: x='21/04/87' format(as.Date(x,'%d/%m/%y'),'%Y') [1] "1987" format(as.Date(x,'%d/%m/%y'),'%y') [1] "87" 2011/4/25 Mauro Sznelwar <sznelwar@uol.com.br>
Tentei transformar 21/04/87 em anos e não consegui! x=21/04/87 (c(Sys.Date() - as.Date(gsub("(\\d{2})$", "19\\1", x), "%d/%m/%Y")) /365.25) %/% 1 [1] NA
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br

Obrigado pelo retorno, mas não foi bem isso, eu transformar 21/04/87 no número de anos até hoje, e alguém deu a sugestão que não consegui implementar x=21/04/87 (c(Sys.Date() - as.Date(gsub("(\\d{2})$", "19\\1", x), "%d/%m/%Y")) /365.25) %/% 1 [1] NA Mauro, tenta assim: x='21/04/87' format(as.Date(x,'%d/%m/%y'),'%Y') [1] "1987" format(as.Date(x,'%d/%m/%y'),'%y') [1] "87"

É só questão de entrar com o x certo, tem que colocar entre aspas o valor (string) x='21/04/87' (c(Sys.Date() - as.Date(gsub("(\\d{2})$", "19\\1", x), "%d/%m/%Y")) /365.25) %/% 1 [1] 24 Se quiser fugir de expressão regular, da pra fazer assim: x='21/04/87' as.real((Sys.Date() - as.Date(x,'%d/%m/%y'))/365.25) %/% 1 [1] 24 2011/4/25 Mauro Sznelwar <sznelwar@uol.com.br>
Obrigado pelo retorno, mas não foi bem isso, eu transformar 21/04/87 no número de anos até hoje, e alguém deu a sugestão que não consegui implementar x=21/04/87 (c(Sys.Date() - as.Date(gsub("(\\d{2})$", "19\\1", x), "%d/%m/%Y")) /365.25) %/% 1 [1] NA Mauro, tenta assim:
x='21/04/87' format(as.Date(x,'%d/%m/%y'),'%Y') [1] "1987" format(as.Date(x,'%d/%m/%y'),'%y') [1] "87"
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br

Obrigado, mas não tinha reparado as aspas! É só questão de entrar com o x certo, tem que colocar entre aspas o valor (string) x='21/04/87' (c(Sys.Date() - as.Date(gsub("(\\d{2})$", "19\\1", x), "%d/%m/%Y")) /365.25) %/% 1 [1] 24 Se quiser fugir de expressão regular, da pra fazer assim: x='21/04/87' as.real((Sys.Date() - as.Date(x,'%d/%m/%y'))/365.25) %/% 1 [1] 24 2011/4/25 Mauro Sznelwar <sznelwar@uol.com.br> Obrigado pelo retorno, mas não foi bem isso, eu transformar 21/04/87 no número de anos até hoje, e alguém deu a sugestão que não consegui implementar x=21/04/87 (c(Sys.Date() - as.Date(gsub("(\\d{2})$", "19\\1", x), "%d/%m/%Y")) /365.25) %/% 1 [1] NA Mauro, tenta assim: x='21/04/87' format(as.Date(x,'%d/%m/%y'),'%Y') [1] "1987" format(as.Date(x,'%d/%m/%y'),'%y') [1] "87" _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br ------------------------------------------------------------------------------ _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br

A expressão regular é para considerar os anos anteriores à 68 como 1968 e não 2068. 2011/4/25 Rodrigo Coster <rcoster@gmail.com>:
É só questão de entrar com o x certo, tem que colocar entre aspas o valor (string) x='21/04/87' (c(Sys.Date() - as.Date(gsub("(\\d{2})$", "19\\1", x), "%d/%m/%Y")) /365.25) %/% 1 [1] 24 Se quiser fugir de expressão regular, da pra fazer assim: x='21/04/87' as.real((Sys.Date() - as.Date(x,'%d/%m/%y'))/365.25) %/% 1 [1] 24
2011/4/25 Mauro Sznelwar <sznelwar@uol.com.br>
Obrigado pelo retorno, mas não foi bem isso, eu transformar 21/04/87 no número de anos até hoje, e alguém deu a sugestão que não consegui implementar x=21/04/87 (c(Sys.Date() - as.Date(gsub("(\\d{2})$", "19\\1", x), "%d/%m/%Y")) /365.25) %/% 1 [1] NA Mauro, tenta assim: x='21/04/87' format(as.Date(x,'%d/%m/%y'),'%Y') [1] "1987" format(as.Date(x,'%d/%m/%y'),'%y') [1] "87"
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
-- Henrique Dallazuanna Curitiba-Paraná-Brasil 25° 25' 40" S 49° 16' 22" O
participantes (3)
-
Henrique Dallazuanna
-
Mauro Sznelwar
-
Rodrigo Coster