Re: [Rd] seq.Date bug?

From: Sarah Goslee <sarah.goslee_at_gmail.com>
Date: Tue, 31 Jan 2012 15:07:06 -0500

I was prompted to try it myself:

On Tue, Jan 31, 2012 at 2:56 PM, Dirk Eddelbuettel <edd_at_debian.org> 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.

As does December.

> 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.

The by argument chokes on "month" if the current day is greater than the shortest month in the sequence (presumably due to the irregular nature of month lengths):

For leap year 2012:
> seq(as.Date("2012/1/29"), by="month", length.out=12) # works

 [1] "2012-01-29" "2012-02-29" "2012-03-29" "2012-04-29" "2012-05-29"
 [6] "2012-06-29" "2012-07-29" "2012-08-29" "2012-09-29" "2012-10-29"
[11] "2012-11-29" "2012-12-29"

> seq(as.Date("2012/1/30"), by="month", length.out=12) # fails
[1] "2012-01-30" "2012-03-01" "2012-03-30" "2012-04-30" "2012-05-30"
 [6] "2012-06-30" "2012-07-30" "2012-08-30" "2012-09-30" "2012-10-30" [11] "2012-11-30" "2012-12-30"

While for non-leap year 2011:
> seq(as.Date("2011/1/28"), by="month", length.out=12) # works

 [1] "2011-01-28" "2011-02-28" "2011-03-28" "2011-04-28" "2011-05-28"
 [6] "2011-06-28" "2011-07-28" "2011-08-28" "2011-09-28" "2011-10-28"
[11] "2011-11-28" "2011-12-28"

> seq(as.Date("2011/1/29"), by="month", length.out=12) #fails
[1] "2011-01-29" "2011-03-01" "2011-03-29" "2011-04-29" "2011-05-29"
 [6] "2011-06-29" "2011-07-29" "2011-08-29" "2011-09-29" "2011-10-29" [11] "2011-11-29" "2011-12-29"

> sessionInfo()

R version 2.14.1 (2011-12-22)
Platform: x86_64-redhat-linux-gnu (64-bit)

locale:

 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
 [7] LC_PAPER=C                 LC_NAME=C
 [9] LC_ADDRESS=C               LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C

attached base packages:
[1] stats graphics grDevices utils datasets methods base

loaded via a namespace (and not attached): [1] tools_2.14.1

-- 
Sarah Goslee
http://www.functionaldiversity.org

______________________________________________
R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Received on Tue 31 Jan 2012 - 20:11:26 GMT

This quarter's messages: by month, or sorted: [ by date ] [ by thread ] [ by subject ] [ by author ]

All messages

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Tue 31 Jan 2012 - 20:40:13 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.

list of date sections of archive