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