2017-10-17 290 views
0

我想將此數據幀轉換爲R中的單變量時間序列。爲此,我想我想將date_time列變爲索引?讓我知道這聽起來是否正確。下面是實際的數據幀的一小部分:將數據幀轉換爲R中的單變量時間序列?

date_time    price 
2017-05-01 00:00:00 3040   
2017-05-01 01:00:00 3030   
2017-05-01 02:00:00 3068   
2017-05-01 03:00:00 3010   
2017-05-01 04:00:00 2814 

這是我試圖做到這一點。

xts(df$price, as.Date(df$date_time, format='%Y-%m-%d %H:%M:%S')) 

但是,這完全切斷了小時,分鐘和秒鐘。因此它會輸出:

   price 
2017-05-01 3040   
2017-05-01 3030   
2017-05-01 3068   
2017-05-01 3010   
2017-05-01 2814 

如何在索引中包含日期和時間?

+1

可以請你把你的數據 –

+0

作爲@amrrs指出的,這是一個數據類型的問題,你需要處理日期和時間。 「chron」圖書館是另一種選擇。 – Marco

回答

1

假設ss是數據幀的名稱,下面的代碼應該工作:

library(xts) 

time <- as.POSIXct(ss$date_time, format = '%Y-%m-%d %H:%M:%S') 

#library(xts) 

xt <- xts(x = ss$price, order.by = time) 

xt1 <- xts(ss$price, strptime(ss$date_time, format = '%Y-%m-%d %H:%M:%S')) 

xt1 

> xt1 
        [,1] 
2017-05-01 00:00:00 3040 
2017-05-01 01:00:00 3030 
2017-05-01 02:00:00 3068 
2017-05-01 03:00:00 3010 
2017-05-01 04:00:00 2814 

as.Date()將因此失去time元件它必須被類型強制轉換到一個POSIXct對象。