
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@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@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.