我剛剛開始使用 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的d...函式可以正確理解lubridate 包中的函式(ddays、dhours、dminutes 等)?
uj5u.com熱心網友回復:
seq 不是 lubridate 包的一部分,也不了解這些d...功能。
ymd 回傳一個日期,因此當您呼叫 seq 時,您使用的是 seq.Date。
你要seq(ymd("2021-01-01"), ymd("2021-01-04"), "days")
ymd_h 回傳一個 POSIXct 物件,因此 seq 使用 seq.POSIXct。
您再次想要seq(ymd_h("2021-01-01"), ymd_h("2021-01-04"), "days"),但現在結果是 POSIXct 向量。
請參閱 seq.Date 和 seq.POSIXct 的幫助以了解它們有何不同。
新clock包具有許多用于日期操作的好函式,其中包括一個date_seq您可能會覺得有用的函式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/333109.html
上一篇:連接特定列的資料框
