一个简单的问题,我想。我有一些约会,d
:
d <- as.POSIXct(c("2014-01-01 00:00:00 BST", "2014-01-01 00:30:00 BST"))
> class(d)
[1] "POSIXct" "POSIXt"
如果我尝试仅使用lubridate
提取日期部分,它可以使用单个值但不是整个向量,即:
> ymd(d[1])
[1] "2014-01-01 UTC"
> ymd(d)
[1] NA NA
Warning message:
All formats failed to parse. No formats found.
对于记录,这有效:
> as.Date(d, format="%F")
[1] "2014-01-01" "2014-01-01"
这里发生了什么?
答案 0 :(得分:2)
您的问题是您的矢量不仅仅是年,月,日(ymd),还有小时,分钟,秒(hms)。请考虑使用此代码:
ymd_hms(d)
如果您只想提取日期,可以使用:
strftime(ymd_hms(d),'%Y-%m-%d')