Returning a vector of class POSIXct with vapply

巧了我就是萌 提交于 2019-11-27 18:37:20

问题


I have list of dates having POSIXct class as follows (just a minimum working example):

L <- list(as.POSIXct("2012-12-12 12:12:12"), as.POSIXct("2012-12-12 12:12:12"))

I need to retrieve a vector of class POSIXct from it. This rules out lapply, and leaves me with sapply and vapply. I apply them as follows:

sapply(L, "[[", 1)

and this returns:

[1] 1355310732 1355310732

Converting this vector to POSIXct gives error as origin must be provided. I also tried vapply:

vapply(L, "[[", as.POSIXct(Sys.time()), 1)

but also get numeric vector returned:

[1] 1355310732 1355310732

Also unlist does not produce the desired POSIXct vector:

> unlist(L)
[1] 1355310732 1355310732 

In short, how do I extract a list of POSIXct values into a POSIXct vector?


回答1:


What about do.call?

L <- list(as.POSIXct("2012-12-12 12:12:12"), as.POSIXct("2012-12-12 12:12:12"))
do.call(c, L) # Execute function c on a list L of arguments.
[1] "2012-12-12 12:12:12 CET" "2012-12-12 12:12:12 CET"


来源:https://stackoverflow.com/questions/13859905/returning-a-vector-of-class-posixct-with-vapply

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!