时间序列、lubridate 和 seq 函数
Time series, lubridate, and the seq function
我刚刚开始使用 lubridate 包和 R 中的日期进行冒险。一开始我对某些行为感到惊讶。因为当我这样做时 seq(ymd("2021-01-01"), ymd("2021-01-04"), ddays(1))
我只得到一个约会对象 [1]" 2021-01-01"
。但是当我这样做时 seq(ymd_h("2021-01-01 00"), ymd_h("2021-01-04 00"), ddays(1))
我得到了更多的预期结果,即四个日期 "2021- 01-01 UTC" "2021-01-02 UTC" "2021-01-03 UTC" "2021-01-04 UTC"
。
我承认这让我很吃惊。
我将非常感谢用简单的语言解释为什么会这样。
马上第二个问题。是否有像 seq
这样的函数可以正确理解 lubridate 包中的 d...
函数(ddays、dhours、dminutes 等)?
seq 不是 lubridate 包的一部分,不理解 d...
函数。
ymd returns 一个日期,所以当你调用 seq 时,你使用的是 seq.Date.
你想要 seq(ymd("2021-01-01"), ymd("2021-01-04"), "days")
ymd_h returns 一个 POSIXct 对象,所以 seq 使用 seq.POSIXct.
您再次想要 seq(ymd_h("2021-01-01"), ymd_h("2021-01-04"), "days")
,但现在结果是一个 POSIXct 向量。
查看 seq.Date 和 seq.POSIXct 的帮助,了解它们的区别。
新的 clock
包有许多用于日期操作的好函数,包括一个名为 date_seq
的函数,您可能会发现它很有用。
我刚刚开始使用 lubridate 包和 R 中的日期进行冒险。一开始我对某些行为感到惊讶。因为当我这样做时 seq(ymd("2021-01-01"), ymd("2021-01-04"), ddays(1))
我只得到一个约会对象 [1]" 2021-01-01"
。但是当我这样做时 seq(ymd_h("2021-01-01 00"), ymd_h("2021-01-04 00"), ddays(1))
我得到了更多的预期结果,即四个日期 "2021- 01-01 UTC" "2021-01-02 UTC" "2021-01-03 UTC" "2021-01-04 UTC"
。
我承认这让我很吃惊。
我将非常感谢用简单的语言解释为什么会这样。
马上第二个问题。是否有像 seq
这样的函数可以正确理解 lubridate 包中的 d...
函数(ddays、dhours、dminutes 等)?
seq 不是 lubridate 包的一部分,不理解 d...
函数。
ymd returns 一个日期,所以当你调用 seq 时,你使用的是 seq.Date.
你想要 seq(ymd("2021-01-01"), ymd("2021-01-04"), "days")
ymd_h returns 一个 POSIXct 对象,所以 seq 使用 seq.POSIXct.
您再次想要 seq(ymd_h("2021-01-01"), ymd_h("2021-01-04"), "days")
,但现在结果是一个 POSIXct 向量。
查看 seq.Date 和 seq.POSIXct 的帮助,了解它们的区别。
新的 clock
包有许多用于日期操作的好函数,包括一个名为 date_seq
的函数,您可能会发现它很有用。