2013-10-21 20 views
0

您好我有一個數據幀,看起來像這樣:R改爲數據幀到時間序列不標準時間戳

'data.frame': 57 obs. of 4 variables: 
$ timestamp: Factor w/ 57 levels "08/08/2013 02:04:25 AM INFO",..: 1 2 3 4 5 6 8 7 9 10 ... 
$ inStock : Factor w/ 1 level "": 1 1 1 1 1 1 1 1 1 1 ... 
$ unitPrice: Factor w/ 1 level "61.12000": 1 1 1 1 1 1 1 1 1 1 ... 
$ moq  : Factor w/ 1 level "1": 1 1 1 1 1 1 1 1 1 1 ... 

       timestamp  inStock 
1 08/08/2013 02:10:41 AM INFO 100 
2 08/09/2013 02:14:17 AM INFO 98 
3 08/09/2013 02:27:52 AM INFO 95 
4 08/10/2013 02:09:05 AM INFO 90 
5 08/10/2013 02:23:21 AM INFO 80 
6 08/11/2013 02:40:56 AM INFO 200 
7 08/12/2013 01:10:30 AM INFO 195 
8 08/12/2013 01:25:35 AM INFO 190 
9 08/13/2013 01:14:39 AM INFO 180 
10 08/13/2013 01:27:42 AM INFO 178 
.... 

(1)時間戳是由Python的創建不知何故,我不知道我怎麼能輕鬆地將此數據框更改爲時間序列類型對象,以便我可以執行一些基本的時間序列分析。 (2)很明顯,你可以看到每天不僅有一條記錄。說2013年8月13日,有兩個記錄。我想在當天獲得最低庫存量......所以按天分組,並使用最小值作爲記錄。同時也可能有一天沒有任何數據。

那麼我該如何解決這個問題,謝謝!

+0

轉換時間戳列看''strptime'。 – Gregor

+1

嘗試...'as.POSIXct(df $ timestamp,format =「%m /%d /%Y%H:%M:%S」)' –

回答

1

當我發表評論時,我沒有看到問題的第二部分。 plyr提供了一個非常簡單的方法來做到這一點...

# Make sure you have daily dates and integer for stock 
df$timestamp <- as.POSIXct(df$timestamp , format = "%m/%d/%Y") 
df$inStock <- as.integer(df$inStock) 

require(plyr) 
ddply(df , .(timestamp) , summarise , inStock = min(inStock)) 
    timestamp inStock 
1 2013-08-08  100 
2 2013-08-09  95 
3 2013-08-10  80 
4 2013-08-11  200 
5 2013-08-12  190 
6 2013-08-13  178 
相關問題