[Rd] seq.Date bug?
Dirk Eddelbuettel
edd at debian.org
Tue Jan 31 21:37:24 CET 2012
On 31 January 2012 at 15:17, Duncan Murdoch wrote:
| On 12-01-31 2:56 PM, Dirk Eddelbuettel wrote:
| >
| > R> seq(as.Date(Sys.Date()), by="-1 months", length=6)
| > [1] "2012-01-31" "2011-12-31" "2011-12-01" "2011-10-31" "2011-10-01" "2011-08-31"
| > R>
| >
| > Notice how October appears twice.
|
| >
| > Now, date arithmetic is gruesome but the documentation for seq.Date et al
| > does not hint it wouldn't honour the by= argument. So a bug, or merely a
| > somewhat less than desirable features.
|
| It is giving you Jan 31, Dec 31, Nov 31, Oct 31, Sep 31, Aug 31 --
| except some of those months don't have 31 days, so it is converting
| those dates to ones that really exist. (This is documented in ?seq.POSIXt.)
|
| Isn't this what you asked for?
No as I was feeding this into format(..., "%b-%y") to create 'pretty' names,
and the double entries screw that.
Morale: pick a mid-month date, and shift that.
Dirk
| Duncan Murdoch
|
|
| >
| > (And yes, I think I know that Hadley's lubridate has code for this too, but
| > so may my RcppBDT which is sitting on top of Boost::DateTime code ...)
| >
| > Dirk
| >
|
--
"Outside of a dog, a book is a man's best friend. Inside of a dog, it is too
dark to read." -- Groucho Marx
More information about the R-devel
mailing list