将每小时数据转换为r中的时间序列

时间:2016-04-07 02:52:18

标签: r xts zoo

我有大约3年每小时的数据,我正在研究如何将其转换为时间序列,请求帮助我

head(hourly)
  Date...Hour.Block    hour      A1      A2      E1      E2      N1      N2
1        01-01-2015 00 - 01 2000.54 2000.54 2000.54 2000.54 2000.54 2000.54
2                   01 - 02 1849.80 1849.80 1849.80 1849.80 1849.80 1849.80
3                   02 - 03 1699.59 1699.59 1699.59 1699.59 1699.59 1699.59
4                   03 - 04 1699.47 1699.47 1699.47 1699.47 1699.47 1699.47
5                   04 - 05 1699.57 1699.57 1699.57 1699.57 1699.57 1699.57
6                   05 - 06 1764.42 1764.42 1764.42 1764.42 1764.42 1764.42
       N3      S1      S2      W1      W2      W3     MCP
1 2000.54 2000.54 2000.54 1999.27 1999.27 1999.27 1899.85
2  1849.8 1849.80  1849.8 1849.80 1849.80 1849.80 1829.33
3 1699.59 1699.59 1699.59 1699.59 1699.59 1699.59 1699.41
4 1699.47 1699.47 1699.47 1699.47 1699.47 1699.47 1699.31
5 1699.57 1699.57 1699.57 1699.57 1699.57 1699.57 1699.37
6 1764.42 3610.61 3610.61 1764.42 1764.42 1764.42 1779.00

我只想转换一个列数据,例如A1MCP

2 个答案:

答案 0 :(得分:0)

 library(lubridate)
 dmy_hms("01-01-2015  00:00:00") + hours(1: (24*365*3 + 24*366))

答案 1 :(得分:0)

2018年答案

您可以使用以下代码行将每小时数据(例如train_df)转换为时间序列(train_xts):

train_xts <- xts(x = train_df, order.by = train_meta_lj$timestamp)

ts不能与小时时间序列配合使用。最好使用zoo或zoo的子类xts。 order.by是包含您的时间观察的列。注意:时间戳记观察应按升序排列