2014-10-29 61 views
0

我有20天的10月份數據。這些數據來自不同的部門,但具有相同的列。 有46個變量(列),看起來像這樣:時間序列數據對象爲1個月R

Date X24K.Equivalent.Plan X24K.Equivalent.Act Plan.Rep.WS Act.Rep.WS Rep.WS.Var Plan.Rep.Intakes 
1 2014-10-18     29.0    28.8  2463  2447  -16    568 
2 2014-10-19     29.6    31.0  2513  2633  120    461 
3 2014-10-20     33.8    35.4  2869  3013  144    1159 
4 2014-10-21     36.6    35.9  3115  3054  -61    1146 
5 2014-10-22     35.3    34.7  2999  2953  -46    1126 
6 2014-10-23     31.9    33.4  2714  2842  128    1124 

注意我只是隻顯示7列。

我想這個月的數據轉換成時間序列的對象,這樣我可以做一些時間序列分析等 我的問題是:

1相同的數據來源於4個其他業務單元,我有創建4個時間序列對象?如果是的話,我該如何在同一時間序列圖上繪製變化/性能差異?

2 - 我不能積十餘變量:/

我試過如下:

#convert date column into date format and add id 
library(lubridate) 
bvg1$Date = dmy(bvg1$Date) 

> bvg1 
     Date X24K.Equivalent.Plan X24K.Equivalent.Act Plan.Rep.WS Act.Rep.WS Rep.WS.Var Plan.Rep.Intakes 
1 2014-10-18     29.0    28.8  2463  2447  -16    568 
2 2014-10-19     29.6    31.0  2513  2633  120    461 
3 2014-10-20     33.8    35.4  2869  3013  144    1159 
4 2014-10-21     36.6    35.9  3115  3054  -61    1146 
5 2014-10-22     35.3    34.7  2999  2953  -46    1126 
6 2014-10-23     31.9    33.4  2714  2842  128    1124 
7 2014-10-24     29.0    31.9  2468  2714  246    1106 

如果我將其轉換爲時間序列:

ts_bvg1 = ts(bvg1_withoutID) 

它顯示了一個奇怪的日期:

Date X24K.Equivalent.Plan X24K.Equivalent.Act Plan.Rep.WS Act.Rep.WS Rep.WS.Var Plan.Rep.Intakes 
1 1413590400     29.0    28.8  2463  2447  -16    568 
2 1413676800     29.6    31.0  2513  2633  120    461 
3 1413763200     33.8    35.4  2869  3013  144    1159 
4 1413849600     36.6    35.9  3115  3054  -61    1146 
5 1413936000     35.3    34.7  2999  2953  -46    1126 
6 1414022400     31.9    33.4  2714  2842  128    1124 
7 1414108800     29.0    31.9  2468  2714  246    1106 

如果我做到以下幾點:

ts_bvg1 = ts(bvg1_withoutID, start=2014) 

仍顯示在奇怪格式的日期,但是從2014年起增加了一年 - 2020等

> ts_bvg1 
Time Series: 
Start = 2014 
End = 2020 
Frequency = 1 
      Date X24K.Equivalent.Plan X24K.Equivalent.Act Plan.Rep.WS Act.Rep.WS Rep.WS.Var Plan.Rep.Intakes 
2014 1413590400     29.0    28.8  2463  2447  -16    568 
2015 1413676800     29.6    31.0  2513  2633  120    461 
2016 1413763200     33.8    35.4  2869  3013  144    1159 
2017 1413849600     36.6    35.9  3115  3054  -61    1146 
2018 1413936000     35.3    34.7  2999  2953  -46    1126 
2019 1414022400     31.9    33.4  2714  2842  128    1124 
2020 1414108800     29.0    31.9  2468  2714  246    1106 

我怎麼能強迫它每日,而不是每月或每年的治療觀察?

感謝

+0

感謝您顯示數據形狀。如果我們有可重複的例子,這真的很棒,這個數據是公開的嗎?按照他的方式,你奇怪的日期可能是自Unix時代以來的秒數 – 2014-10-29 20:23:00

+0

嗨感謝您的評論。沒有這個數據集是我的組織內部的,我無法與外界分享。任何想法如何解決我的問題。恐怕你對奇怪的日期格式是正確的。 – Shery 2014-10-29 20:35:37

+0

我明白了,這是非常普遍的問題(機密數據)。這是一種痛苦,但如果你希望人們能夠在這裏幫助你,那麼我們推薦的方法是用公共數據重現你的錯誤,然後讓我們幫助你使用公共數據。順便說一句,我能夠成功地轉換這些時間戳tho。複製其中一個奇怪的日期並將其粘貼在這裏http://www.epochconverter.com/ – 2014-10-29 20:46:17

回答

0

我已經使用zoo包解決了這個問題。

我做了以下內容:

library(zoo) 
ts_bvg1 = zoo(bvg1, order.by=bvg1$Date) 

> ts_bvg1 
      Date  X24K.Equivalent.Plan X24K.Equivalent.Act Plan.Rep.WS Act.Rep.WS Rep.WS.Var Plan.Rep.Intakes 
2014-10-18 2014-10-18 29.0     28.8    2463  2447  -16   568    
2014-10-19 2014-10-19 29.6     31.0    2513  2633  120   461    
2014-10-20 2014-10-20 33.8     35.4    2869  3013  144  1159    
2014-10-21 2014-10-21 36.6     35.9    3115  3054  -61  1146    
2014-10-22 2014-10-22 35.3     34.7    2999  2953  -46  1126    
2014-10-23 2014-10-23 31.9     33.4    2714  2842  128  1124    
2014-10-24 2014-10-24 29.0     31.9    2468  2714  246  1106    

現在的問題是與繪製這個數據作爲一個時間序列。 這是我做過什麼:

> plot(ts_bvg1$X24K.Equivalent.Plan, col="red") 
Error in plot.window(...) : invalid 'ylim' value 

我已經嘗試了不同的欄目,並得到同樣的錯誤。

如果我打印ts_bvg1$X24K.Equivalent.Plan這就是它的樣子:

> ts_bvg1$X24K.Equivalent.Plan 
2014-10-18 2014-10-19 2014-10-20 2014-10-21 2014-10-22 2014-10-23 2014-10-24 
     29.0  29.6  33.8  36.6  35.3  31.9  29.0 

任何想法,現在怎麼繪製呢?或者將其與其他參數一起繪製在同一個圖上?