[R-br] Converter dias em anos

Rodrigo Coster rcoster em gmail.com
Quarta Fevereiro 13 13:41:45 BRST 2013


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 <fatima.lima.paula em gmail.com>

> Valeu, Manoel. Depois é só fazer idade=as.integer(idade), né?
> Obrigada
>
> Em 12 de fevereiro de 2013 19:22, Manoel Galdino <mcz.fea em gmail.com>escreveu:
>
> transforme em numeric e depois divida por 365.25.
>>
>> Manoel
>>
>>
>> as.numeric(idade)/365.25
>>
>>
>>
>>
>>
>> 2013/2/12 Fátima Lima Paula <fatima.lima.paula em gmail.com>
>>
>>> 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
>>> R-br em 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.
>>>
>>
>>
>>
>> --
>> Manoel Galdino
>> https://sites.google.com/site/galdinomcz/
>>
>> _______________________________________________
>> R-br mailing list
>> R-br em 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.
>>
>
>
> _______________________________________________
> R-br mailing list
> R-br em 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.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130213/f5c41280/attachment.html>


Mais detalhes sobre a lista de discussão R-br