簡體   English   中英

將數據幀轉換為時間序列以在R中進行預測

[英]Convert data frame to time series for prediction in R

我以以下格式從MySQL檢索數據:

date         newCustomers
2016-07-27   31
2016-07-26   3

數據從日期2015-02-25開始,並且每天都有一個條目。 我想將此數據幀轉換為時間序列以進行預測。

我嘗試了以下操作: dataTimeSeries <- ts(data, start=c(2015,2,25), frequency=365.25) ,它In data.matrix(data) : NAs introduced by coercion了警告。 在檢查dataTimeSeries中的內容時,這就是我發現的內容

         date  day
2016.000   NA   31
2016.003   NA    3
2016.005   NA    2
2016.008   NA    0

我做錯了什么,請指出正確的方向?

更新 :按照建議,我嘗試了dataTimeSeries <- ts(data$newCustomers, start=c(2015,2,25), frequency=365.25) ,它給了我以下結果

Time Series:
Start = 2015.00273785079 
End = 2015.9993155373 
Frequency = 365.25 
  [1]   31    3    2    0  101   69    8    4   15    3    1   22   47   85  359    6    7    2  134   44   20   61    2    0    4 2373 4243    7   31   11    2    0   25 1689   24   74
 [37]   22    0    1  336  373   14   11  145    7    0    1   19   49  522   19    1   39 1611    9  675   21    1   45    4  156  180  747  265  169    0    0    4    7    3    4   10
 [73]   64    1    3    5    2   13   15    0    6    0   13    2   13   10    5   14   16   28  134    8    2    0    0    9   29    7   79   17    1    4  167    6   64  334   14    0
[109]    0   13   17   57   66    3    0    0   25    2    4   22   16    2    0   23   23  169 9912   24    8    3  154    3    2   29   29  243    0    6    2   72   66    7    1    0
[145]   24  208   13    6    7   10    4   54   79   72    9   29   31  208  224   18   50   65  152   50   10   55  107  249  178    3    0    0  627   19  220   20  285    0    1   11
[181]   26   25   88    9    2    7   64   54  212  295   37   49   19  144   30   78   29   97  210  143    4  294    2   34  642   24    0    0    1    4    0    0    0    0    0    0
[217]    2    3    9    0    0   62    6   16    0   12    0   21    3    6    5    8    1    1    0    3   40   16    1    0    0   66    0    0    1    8    6    1   14   26    4    4
[253]  285    4    0    0    0    3    1    0   28    0    0   24  360    0    0    2    3    0   11  294  578    1    4    0    0   19    2    7   10    0    0    1   20    1   59   19
[289]    2    0    0    9   19   12    4   10    5    4    5    5    7   38   10    5    6    9   18   22   30   28   13   14   22   22   35   12    6    3    3   15    3    3   28    1
[325]    0    0    7   45   21   14   21    0    0   22   14   17  799    7    0    3    8   20   21  107   75    3    3   39   36  137   42   39    6   16  113   11    6   10    8    6
[361]    6    8   21   12   81

這是不正確的。

這應該可行,因為您只需要將數據(而不是時間)提供給ts():

dataTimeSeries <- ts(data$newCustomers, ...)

您的數據是否也可能在觀察之間沒有規則的間隔時間? 時間序列最適合用於觀察日期之間間隔相等的數據集。 您可以看到使用R中的ts分析每日/每周數據,以了解其他分析數據的方法,這些方法不一定具有相等的時間間隔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM