On Dec 15, 2009, at 1:39 PM, Megh wrote:
Dear all,
Please consider following date "as.Date("2009-02-01")". If I
subtract "1"
then it will give last day, similarly if I subtract "2" it will give
2nd
last day. But what about if I want to get "last month", "2md last
month"
i.e. "2009-01-01" or "2008-12-01" etc or even year?
Is there any automated way (like day-case, as explained) for doing
that?
Your help will be highly appreciated.
See ?seq.date
You can use a negative value for the 'by' argument along with the
desired unit of time. Then define how many values in the sequence you
want. We'll also remove the first value, which is the starting point.
# The prior 2 months
> seq(as.Date("2009-02-01"), by = "-1 month", length = 3)[-1]
[1] "2009-01-01" "2008-12-01"
# Prior two years
> seq(as.Date("2009-02-01"), by = "-1 year", length = 3)[-1]
[1] "2008-02-01" "2007-02-01"
HTH,
Marc Schwartz
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.