5

我无法使用 lubridate 的pretty_dates功能。在某些情况下它会失败:

library(lubridate)

datetimes <- structure(c(1391640346, 1393856900), class = c("POSIXct", "POSIXt"), tzone = "GMT")
pretty_dates(datetimes, 10)

(我通常不会像这样构建日期时间,这正是dput给了我的。)这失败并显示错误消息:

Error in seq.POSIXt(start, end, paste(binlength, binunits)) : 'to' must be of length 1

我在这里做错了吗?

我正在使用lubridate_1.3.3CRAN 的最新版本。

4

1 回答 1

1

我相信这看起来像一个错误。当您有一个 POSIX 对象的时间不是午夜并且首选“天”单位时,这似乎只是一个问题。您可以使用其他值重新创建

pretty_dates(seq.POSIXt(as.POSIXct("2014-02-05 01:00:00 GMT"), 
    by = "5 day", length.out = 2), 2)

虽然像

pretty_dates(seq.POSIXt(as.POSIXct("2014-02-05 01:00:00 GMT"), 
    by = "9 hours", length.out = 2), 2)

或者

pretty_dates(seq.POSIXt(as.POSIXct("2014-02-05 01:00:00 GMT"), 
    by = "3 months", length.out = 2), 2)

工作。

看起来你可以解决它

pretty_dates(as.Date(datetimes),10)
于 2014-07-10T01:43:12.847 回答