-----Original Message-----
From: Marc Schwartz [mailto:MSchwartz at mn.rr.com]
Sent: Tuesday, October 11, 2005 10:16 PM
To: t c
Cc: r-help at stat.math.ethz.ch
Subject: Re: [R] adding 1 month to a date
On Tue, 2005-10-11 at 16:26 -0700, t c wrote:
Within an R dataset, I have a date field called date_.
in the format YYYY-MM-DD, e.g. 1995-12-01.)
How can I add or subtract 1 month from this date, to get
There might be an easier way to do this, but using seq.Date(), you can
increment or decrement from a Time 0 by months:
Add 1 month:
This takes your Time 0, generates a 2 element sequence (which begins
with Time 0) and then takes the second element:
seq(as.Date("1995-12-01"), by = "month", length = 2)[2]
[1] "1996-01-01"
Subtract 1 month:
Same as above, but we use 'by = "-1 month"' and take the
second element:
seq(as.Date("1995-12-01"), by = "-1 month", length = 2)[2]
[1] "1995-11-01"
See ?as.Date and ?seq.Date for more information. The former
function is
used to convert from a character vector to a Date class object. Note
that in your case, the date format is consistent with the default. Pay
attention to the 'format' argument in as.Date() if your dates
should be
in other formats.
HTH,
Marc Schwartz