It looks like a bug. I don't think c.Date() is every called, because: > trace(c.Date, tracer = quote(message("c.Date() called"))) Tracing function "c.Date" in package "base" [1] "c.Date"
Tracing works: > c(as.Date(10000L), as.Date(10001L)) Tracing c.Date(as.Date(10000L), as.Date(10001L)) on entry c.Date() called [1] "1997-05-19" "1997-05-20" but c.Date() is not called here: > x <- foreach(i=10000:10100, .combine = function(...) c(...)) %do% { > as.Date(i) } > str(x) num [1:101] 10000 10001 10002 10003 10004 ... The following hack works: > library("foreach") > library("zoo") > x <- foreach(i=10000:10100, .combine = function(...) c(...)) %do% { > as.Date(i) } > str(x) Date[1:101], format: "1997-05-19" "1997-05-20" "1997-05-21" "1997-05-22" ... Alternatively, one can use append() which works like c() if no other arguments are specified: > x <- foreach(i=10000:10100, .combine = append) %do% { as.Date(i) } > str(x) Date[1:101], format: "1997-05-19" "1997-05-20" "1997-05-21" "1997-05-22" ... It looks like foreach is treating the .combine = c case specially and someone fail to properly dispatch c() on the object (or something). /Henrik On Sun, Nov 13, 2016 at 7:14 AM, James Hirschorn <james.hirsch...@hotmail.com> wrote: > I'm still not clear about whether this is a bug in foreach. Should c.Date be > invoked by foreach with .combine='c'? > > On 11/06/2016 07:02 PM, William Dunlap wrote: > Note that in the OP's example c.Date is never invoked. c.Date is called if > .combine > calls c rather than if .combine is c: > >> library(zoo) >> trace(c.Date, quote(print(sys.call()))) > Tracing function "c.Date" in package "base" > [1] "c.Date" >> foreach(i=10000:10003, .combine=c) %do% { as.Date(i) } > [1] 10000 10001 10002 10003 >> foreach(i=10000:10003, .combine=function(...)c(...)) %do% { as.Date(i) } > Tracing c.Date(...) on entry > eval(expr, envir, enclos) > Tracing c.Date(...) on entry > eval(expr, envir, enclos) > Tracing c.Date(...) on entry > eval(expr, envir, enclos) > [1] "1997-05-19" "1997-05-20" "1997-05-21" "1997-05-22" > > > Bill Dunlap > TIBCO Software > wdunlap tibco.com<http://tibco.com> > > On Sun, Nov 6, 2016 at 2:20 PM, Duncan Murdoch > <murdoch.dun...@gmail.com<mailto:murdoch.dun...@gmail.com>> wrote: > On 06/11/2016 5:02 PM, Jim Lemon wrote: > hi James, > I think you have to have a starting date ("origin") for as.Date to > convert numbers to dates. > > That's true with the function in the base package, but the zoo package also > has an as.Date() function, which defaults the origin to "1970-01-01". If > James is using zoo his code would be okay. If he's not, he would have got an > error, so I think he must have been. > > Duncan Murdoch > > > > Jim > > On Sun, Nov 6, 2016 at 12:10 PM, James Hirschorn > <james.hirsch...@hotmail.com<mailto:james.hirsch...@hotmail.com>> wrote: > This seemed odd so I wanted to check: > > > x <- foreach(i=10000:10100, .combine='c') %do% { as.Date(i) } > > yields a numeric vector for x: > > > class(x) > [1] "numeric" > > Should it not be a vector of Date? > > ______________________________________________ > R-help@r-project.org<mailto:R-help@r-project.org> mailing list -- To > UNSUBSCRIBE and more, see > 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. > > ______________________________________________ > R-help@r-project.org<mailto:R-help@r-project.org> mailing list -- To > UNSUBSCRIBE and more, see > 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. > > > ______________________________________________ > R-help@r-project.org<mailto:R-help@r-project.org> mailing list -- To > UNSUBSCRIBE and more, see > 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. > > > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.