i need subtract 2 years , and add 1 day dates below. using package lubridate, able subtract dates regular years or leap years separately, need both @ same time.
df <- data.frame( servicedate = c('2010-02-28','2016-02-29'), stringsasfactors = f) df$servicedate <- as.date(df$servicedate, "%y-%m-%d") library(lubridate) df$twoyearsearlier <- ymd(df$servicedate) - years(2) + days(1) this code above
df servicedate twoyearsearlier 2010-02-28 2008-02-29 2016-02-29 <na> is there way calc days both @ same time?
this desired result:
df servicedate twoyearsearlier 2010-02-28 2008-02-29 2016-02-29 2014-03-01 in excel use this
=date(year(aw2)-2,month(aw2),day(aw2)+1)
use duration years dyears
df$twoyearsearlier <- ymd(df$servicedate) - dyears(2) df # servicedate twoyearsearlier #1 2010-02-28 2008-02-29 #2 2016-02-29 2014-03-01 or said in comments, days:
df$twoyearsearlier <- df$servicedate - days(730) df # servicedate twoyearsearlier #1 2010-02-28 2008-02-29 #2 2016-02-29 2014-03-01
Comments
Post a Comment