On Dec 15, 2009, at 2:19 PM, Marc Schwartz wrote:
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
Typo:
Should be ?seq.Date
Marc
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.