A diferença é que tem ano que tem 365 dias e tem ano que tem 366 dias. Minha sugestão aproxima isso pelo fato de que a cada tqatro anos, em média os anos têm 365.25 dias.
Assim, só vai dar alguma diferença se a idade em dias for um múltiplo de 365... abç M 2013/2/13 Fátima Lima Paula <[email protected]> > Obrigada, Rodrigo. > Vou fazer depois por essa função e ver se vai retornar diferenças. > > Em 13 de fevereiro de 2013 13:41, Rodrigo Coster <[email protected]>escreveu: > > Dividir por 365.25 nem sempre da certo. Pra isso aconselho usar uma função >> (como a que mando abaixo, que achei na internet e não me recordo aonde) >> >> age_years <- function(first, second) { >> lt <- data.frame(first, second) >> age <- as.numeric(format(lt[,2],format="%Y")) - >> as.numeric(format(lt[,1],format="%Y")) >> first <- >> as.Date(paste(format(lt[,2],format="%Y"),"-",format(lt[,1],format="%m-%d"),sep="")) >> age[which(first > lt[,2])] <- age[which(first > lt[,2])] - 1 >> age >> } >> >> data1 <- as.Date('28/02/2010','%d/%m/%Y') >> data2 <- >> as.Date(c('28/02/2011','28/02/2012','28/02/2013','28/02/2014','28/02/2015'),'%d/%m/%Y') >> >> # Metodo 1 >> floor(as.numeric(data2 - data1)/365.25) # floor que arredonda para >> baixo, nao ceiling >> >> # Metodo 2 >> age_years(data1,data2) >> >> >> >> 2013/2/12 Fátima Lima Paula <[email protected]> >> >>> Valeu, Manoel. Depois é só fazer idade=as.integer(idade), né? >>> Obrigada >>> >>> Em 12 de fevereiro de 2013 19:22, Manoel Galdino >>> <[email protected]>escreveu: >>> >>> transforme em numeric e depois divida por 365.25. >>>> >>>> Manoel >>>> >>>> >>>> as.numeric(idade)/365.25 >>>> >>>> >>>> >>>> >>>> >>>> 2013/2/12 Fátima Lima Paula <[email protected]> >>>> >>>>> Olá pessoal, como passar a diferença entre datas (idade) em dias para >>>>> anos? Já havia feito isso em algum lugar, mas não encontro. >>>>> datanasc=c(19250405,19300809,19400402) >>>>> dataint=c(20080302,20090506,20080104) >>>>> datanasc=as.character(datanasc,"%Y%m%d") >>>>> dataint=as.character(dataint,"%Y%m%d") >>>>> datanasc=as.Date(datanasc,"%Y%m%d") >>>>> dataint=as.Date(dataint,"%Y%m%d") >>>>> idade=dataint-datanasc >>>>> idade >>>>> Time differences in days >>>>> [1] 30282 28760 24748 >>>>> >>>>> Agora preciso ter a idade de cada um em anos, com números inteiros. >>>>> Alguém pode me ajudar? >>>>> Obrigada >>>>> Fátima >>>>> >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> R-br mailing list >>>>> [email protected] >>>>> 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. >>>>> >>>> >>>> >>>> >>>> -- >>>> Manoel Galdino >>>> https://sites.google.com/site/galdinomcz/ >>>> >>>> _______________________________________________ >>>> R-br mailing list >>>> [email protected] >>>> 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. >>>> >>> >>> >>> _______________________________________________ >>> R-br mailing list >>> [email protected] >>> 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. >>> >> >> >> _______________________________________________ >> R-br mailing list >> [email protected] >> 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. >> > > > _______________________________________________ > R-br mailing list > [email protected] > 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. > -- Manoel Galdino https://sites.google.com/site/galdinomcz/
_______________________________________________ R-br mailing list [email protected] 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.
