[英]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.