Why does unlist() turn date types into numeric?
r
Solution
`do.call` is a handy function to "do something" with a list. In our case, concatenate it using `c`. It's not uncommon to `cbind` or `rbind` data.frames from a list into a single big data.frame.
What we're doing here is actually concatenating elements of the `dd` list. This would be analogous to `c(dd[[1]], dd[[2]])`. Note that `c` can be supplied as a function or as a character.
> dd <- list(dd, dd)
> (d <- do.call("c", dd))
[1] "2013-01-01" "2013-02-01" "2013-03-01" "2013-01-01" "2013-02-01" "2013-03-01"
> class(d) # proof that class is still Date
[1] "Date"
Problem
When I unlist a list of dates it turns them back into numeric. Is that normal? Any workaround other than re-applying as.Date? ``` > dd <- as.Date(c("2013-01-01", "2013-02-01", "2013-03-01")) > class(dd) [1] "Date" > unlist(dd) [1] "2013-01-01" "2013-02-01" "2013-03-01" > list(dd) [[1]] [1] "2013-01-01" "2013-02-01" "2013-03-01" > unlist(list(dd)) [1] 15706 15737 15765 ``` Is this a bug?