在 R 中,如何将时间序列数据帧向前移动 8 小时?

In R how do I shift a time series dataframe forward by 8 hours?

嗨,我有一个这样的 df:

Timestamp            | Price  |
2019-04-30T11:00:00  |  5150  |
2019-04-30T12:00:00  |  5185  |
2019-04-30T13:00:00  |  5212  |
2019-04-30T14:00:00  |  5211  |

其中 typeof(df$Timestamp) returns "character"

如何将时间戳向前移动 8 小时?预期结果:

Timestamp            | Price  |
2019-04-30T19:00:00  |  5150  |
2019-04-30T20:00:00  |  5185  |
2019-04-30T21:00:00  |  5212  |
2019-04-30T22:00:00  |  5211  |

我们可以转换为日期时间 class 并添加 hours

library(lubridate)
df1$Timestamp <- ymd_hms(df1$Timestamp) +  hours(8)

数据

df1 <- structure(list(Timestamp = c("2019-04-30T11:00:00", "2019-04-30T12:00:00", 
"2019-04-30T13:00:00", "2019-04-30T14:00:00"), Price = c(5150L, 
5185L, 5212L, 5211L)), class = "data.frame", row.names = c(NA, 
-4L))