On Tue, 2005-10-11 at 16:26 -0700, t c wrote: > Within an R dataset, I have a date field called date_. (The dates are > in the format YYYY-MM-DD, e.g. 1995-12-01.)
> How can I add or subtract 1 month from this date, to get 1996-01-01 or > 1995-11-01. 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 ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html