为什么unlist()在R中杀死date

当我列出一个date列表,它把他们变成数字。 这是正常的吗? 任何解决方法,而不是重新申请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 

这是一个错误?

do.call是一个方便的function,可以通过列表“执行某些操作”。 在我们的例子中,使用c连接它。 将列表中的数据框架从一个大的数据框架中cbind或绑定并不罕见。

我们在这里做的是实际上连接dd列表的元素。 这将类似于c(dd[[1]], dd[[2]]) 。 请注意, c可以作为function或字符提供。

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