[R-br] Diferença entre datas

Jônatan jdtatsch em gmail.com
Quinta Dezembro 22 16:23:36 BRST 2016


Só para constar,
as funções do lubridate já são vetorizadas então não precisa do sapply:
library(lubridate)
dates <- c("2011-01-17", "2009-11-21")
p <- as.period( interval( ymd(dates), Sys.Date() ) )
year(p)*12 + month(p)


2016-12-22 15:31 GMT-02:00 Karina Rebuli via R-br <r-br em listas.c3sl.ufpr.br>
:

>
> Olá, Leonard.
>
> Sei duas formas de fazer isso.
>
> =====
> * Com os funções-base do R:
> sapply( sapply( as.Date( c("2011-01-17", "2009-11-21") ), seq, Sys.Date(),
> by = "month" ), length )
>
> Importante ressaltar que desssa forma se o dia das datas a serem
> comparadasfor maior que o dia da data atual, ele vai retornar um mês a mais
> (pois a seq() vai começar com a data passada e isso já é um retorno a ser
> contabilizado na length().
>
> ====
> * Com funções do lubridate (acho o pacote excelente e uso bastante, é de
> autoria do Hadley):
> sapply( c("2011-01-17", "2009-11-21"), function(day0){
>   p <- as.period( interval( ymd( day0 ), Sys.Date() ) )
>   year(p)*12 + month(p)
> })
>
> Dessa forma não precisa se preocupar com o dia inicial e você ainda pode
> acrescentar o day(p)/30 ao retorno se quiser a fração do resultado em meses.
>
> Abs,
> Karina
>
>
>
> On Thu, Dec 22, 2016 at 3:03 PM Leonard Mendonça de Assis via R-br <
> r-br em listas.c3sl.ufpr.br> wrote:
>
>> Boa tarde
>>
>>
>>
>> Imagine o seguinte cmr:
>>
>>
>>
>> as.Date(c("2011-01-17", "2009-11-21"))-Sys.Date()
>>
>> Time differences in days
>>
>> [1] -2166 -2588
>>
>> >
>>
>> Como eu conseguiria obter este resultado, não em dias, mas em meses?
>>
>>
>>
>> Leonard
>> _______________________________________________
>> 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.
>



-- 
###############################################################
##  Jônatan Dupont Tatsch
##  Professor do Departamento de Física
##  Centro de Ciências Exatas e Naturais (CCNE)
##  Universidade Federal de Santa Maria - UFSM
##  Faixa de Camobi, Prédio 13 - Campus UFSM - Santa Maria, RS, Brasil -
97105-900
##  Telefone: +55(55)33012083
##  www.ufsm.br/meteorologia
###############################################################
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20161222/8747633c/attachment.html>


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