Unnest a ts class
up vote
0
down vote
favorite
My data has multiple customers data with different start and end dates along with their sales data.So I did simple exponential smoothing.
My data set :
structure(list(customer_id = c("1-FI", "1-FI", "1-FI", "1-FI",
"1-FI", "1-G0175", "1-G0175", "1-G0175", "1-G0175", "1-G0175",
"1-G0175", "1-G0175", "1-G0175", "1-G0175", "1-G0175", "1-G0175",
"1-G0175", "1-G0175", "1-H0182", "1-H0182", "1-H0182", "1-H0182",
"1-H0182", "1-H0182", "1-H0182", "1-H0182", "1-H0182", "1-H0182",
"1-H0182", "1-H0182", "1-H0182", "1-H0182", "1-H0182", "1-H0182",
"1-H0182", "1-H0182", "1-H0182", "1-H0182", "1-H0182", "1-H0183",
"1-H0183", "1-H0183", "1-H0183", "1-H0183", "1-H0183", "1-H0183",
"1-H0183", "1-H0183", "1-H0183", "1-H0183", "1-H0183", "1-H0183",
"1-H0183", "1-H0183", "1-H0183", "1-H0183", "1-H0183", "1-H0183",
"1-H0183", "1-H0183", "1-H0184", "1-H0184", "1-H0184", "1-H0184",
"1-H0184", "1-H0184", "1-H0184", "1-H0184", "1-H0184", "1-H0184",
"1-H0184", "1-H0184", "1-H0184", "1-H0184", "1-H0184", "1-H0184",
"1-H0184", "1-H0184", "1-H0184", "1-H0184", "1-H0184", "1-H0185",
"1-H0185", "1-H0185", "1-H0185", "1-H0185", "1-H0185", "1-H0185",
"1-H0185", "1-H0185", "1-H0185", "1-H0185", "1-H0185", "1-H0185",
"1-H0185", "1-H0185", "1-H0185", "1-H0185", "1-H0185", "1-H0185",
"1-H0185", "1-H0185", "1-H0186", "1-H0186", "1-H0186", "1-H0186",
"1-H0186", "1-H0186", "1-H0186", "1-H0186", "1-H0186", "1-H0186",
"1-H0186", "1-H0186", "1-H0186", "1-H0186", "1-H0186", "1-H0186",
"1-H0186", "1-H0186", "1-H0186", "1-H0186", "1-H0186", "1-H0188",
"1-H0188", "1-H0188", "1-H0188", "1-H0188", "1-H0188", "1-H0188",
"1-H0188", "1-H0188", "1-H0188", "1-H0188", "1-H0188", "1-H0188",
"1-H0188", "1-H0188", "1-H0188", "1-H0188", "1-H0188", "1-H0188",
"1-H0188", "1-H0188"), sales = c(100.9418694, 121.80921729,
131.13242701, 129.25146751, 130.9114891, 59.862175475, 26.242577152,
26.242583584, 26.242582726, 26.242605024, 26.243207488, 26.244399981,
26.24368903, 26.242590016, 26.242607168, 26.244073664, 26.242733235,
26.252639373, 382.25686237, 383.5729855, 395.04823051, 410.71253335,
380.97085, 415.60929042, 405.40406353, 389.73811453, 422.75106934,
424.95123013, 396.27195067, 397.22035121, 403.07871072, 390.51585696,
387.14589889, 356.47379073, 409.86190435, 362.1045076, 482.70803877,
401.04191501, 396.80578737, 182.69071425, 182.90770549, 156.78630936,
162.01545504, 154.59593421, 149.63253734, 183.18470086, 196.32791655,
183.93584654, 186.03057785, 186.22590654, 156.09019587, 137.76343138,
127.0869966, 137.34694566, 133.25311402, 122.55553768, 118.22456292,
159.65747998, 122.77510258, 157.04492207, 35.161096589, 45.037465606,
37.637919142, 35.049382182, 32.801385318, 39.203592294, 37.741972608,
38.730897325, 72.049982746, 40.391500365, 41.502300762, 38.760239251,
40.77839417, 36.989308973, 40.167455795, 33.865745389, 43.924857389,
39.943200256, 38.908906355, 32.228421472, 40.341142093, 47.464460314,
50.49858951, 57.964360275, 50.21179049, 60.817118221, 54.677239507,
53.517382246, 51.296274573, 89.214368205, 51.205341958, 45.581040358,
48.318404365, 56.420713722, 50.733345075, 47.746574266, 51.449188512,
53.159378413, 51.672878035, 54.984310906, 49.853546957, 54.635080749,
33.869158637, 36.420494624, 34.201671168, 31.169316346, 31.453926771,
30.995599174, 34.941078022, 36.430641747, 72.9296608, 44.5318984,
51.272563219, 40.981600774, 41.276944922, 34.307531597, 34.856211642,
35.116862867, 53.886082496, 32.843276934, 67.787450893, 64.072083277,
67.164756966, 37.15244679, 41.802139162, 45.057952384, 41.183183085,
40.94067696, 44.759495578, 45.310676813, 42.227278496, 77.741274912,
45.850713107, 37.290041421, 39.694496685, 43.410913574, 35.870854496,
39.492859059, 39.508746528, 35.526071853, 30.332660653, 30.208349818,
30.188126323, 33.049433254), Date = structure(c(17608, 17615, 17622,
17629, 17636, 17643, 17650, 17657, 17664, 17671, 17678, 17685,
17692, 17699, 17706, 17713, 17720, 17727, 17587, 17594, 17601,
17608, 17615, 17622, 17629, 17636, 17643, 17650, 17657, 17664,
17671, 17678, 17685, 17692, 17699, 17706, 17713, 17720, 17727,
17587, 17594, 17601, 17608, 17615, 17622, 17629, 17636, 17643,
17650, 17657, 17664, 17671, 17678, 17685, 17692, 17699, 17706,
17713, 17720, 17727, 17587, 17594, 17601, 17608, 17615, 17622,
17629, 17636, 17643, 17650, 17657, 17664, 17671, 17678, 17685,
17692, 17699, 17706, 17713, 17720, 17727, 17587, 17594, 17601,
17608, 17615, 17622, 17629, 17636, 17643, 17650, 17657, 17664,
17671, 17678, 17685, 17692, 17699, 17706, 17713, 17720, 17727,
17587, 17594, 17601, 17608, 17615, 17622, 17629, 17636, 17643,
17650, 17657, 17664, 17671, 17678, 17685, 17692, 17699, 17706,
17713, 17720, 17727, 17587, 17594, 17601, 17608, 17615, 17622,
17629, 17636, 17643, 17650, 17657, 17664, 17671, 17678, 17685,
17692, 17699, 17706, 17713, 17720, 17727), class = "Date")), row.names = c(NA,
144L), class = "data.frame")
and I applied the following code to apply ses
library(zoo)
library(forecast)
z <- read.zoo(data_set,FUN = function(x) as.Date(x) + seq_along(x) / 10^10 , index = "Date", split = "customer_id")
L <- lapply(as.list(z), function(x) ts(na.omit(x),frequency = 52))
HW <- lapply(L, ses)
Now my output class is list
with uneven lengths.Can someone help me how to unnest or unlist the output in to a data frame and get the fitted values,actuals,residuals along with their dates,sales and customer_id.
Note : the reson I post my input data rather than data of HW
is,the HW
data is too large.
Can someone help me in R.
r dataframe time-series exponential unnest
add a comment |
up vote
0
down vote
favorite
My data has multiple customers data with different start and end dates along with their sales data.So I did simple exponential smoothing.
My data set :
structure(list(customer_id = c("1-FI", "1-FI", "1-FI", "1-FI",
"1-FI", "1-G0175", "1-G0175", "1-G0175", "1-G0175", "1-G0175",
"1-G0175", "1-G0175", "1-G0175", "1-G0175", "1-G0175", "1-G0175",
"1-G0175", "1-G0175", "1-H0182", "1-H0182", "1-H0182", "1-H0182",
"1-H0182", "1-H0182", "1-H0182", "1-H0182", "1-H0182", "1-H0182",
"1-H0182", "1-H0182", "1-H0182", "1-H0182", "1-H0182", "1-H0182",
"1-H0182", "1-H0182", "1-H0182", "1-H0182", "1-H0182", "1-H0183",
"1-H0183", "1-H0183", "1-H0183", "1-H0183", "1-H0183", "1-H0183",
"1-H0183", "1-H0183", "1-H0183", "1-H0183", "1-H0183", "1-H0183",
"1-H0183", "1-H0183", "1-H0183", "1-H0183", "1-H0183", "1-H0183",
"1-H0183", "1-H0183", "1-H0184", "1-H0184", "1-H0184", "1-H0184",
"1-H0184", "1-H0184", "1-H0184", "1-H0184", "1-H0184", "1-H0184",
"1-H0184", "1-H0184", "1-H0184", "1-H0184", "1-H0184", "1-H0184",
"1-H0184", "1-H0184", "1-H0184", "1-H0184", "1-H0184", "1-H0185",
"1-H0185", "1-H0185", "1-H0185", "1-H0185", "1-H0185", "1-H0185",
"1-H0185", "1-H0185", "1-H0185", "1-H0185", "1-H0185", "1-H0185",
"1-H0185", "1-H0185", "1-H0185", "1-H0185", "1-H0185", "1-H0185",
"1-H0185", "1-H0185", "1-H0186", "1-H0186", "1-H0186", "1-H0186",
"1-H0186", "1-H0186", "1-H0186", "1-H0186", "1-H0186", "1-H0186",
"1-H0186", "1-H0186", "1-H0186", "1-H0186", "1-H0186", "1-H0186",
"1-H0186", "1-H0186", "1-H0186", "1-H0186", "1-H0186", "1-H0188",
"1-H0188", "1-H0188", "1-H0188", "1-H0188", "1-H0188", "1-H0188",
"1-H0188", "1-H0188", "1-H0188", "1-H0188", "1-H0188", "1-H0188",
"1-H0188", "1-H0188", "1-H0188", "1-H0188", "1-H0188", "1-H0188",
"1-H0188", "1-H0188"), sales = c(100.9418694, 121.80921729,
131.13242701, 129.25146751, 130.9114891, 59.862175475, 26.242577152,
26.242583584, 26.242582726, 26.242605024, 26.243207488, 26.244399981,
26.24368903, 26.242590016, 26.242607168, 26.244073664, 26.242733235,
26.252639373, 382.25686237, 383.5729855, 395.04823051, 410.71253335,
380.97085, 415.60929042, 405.40406353, 389.73811453, 422.75106934,
424.95123013, 396.27195067, 397.22035121, 403.07871072, 390.51585696,
387.14589889, 356.47379073, 409.86190435, 362.1045076, 482.70803877,
401.04191501, 396.80578737, 182.69071425, 182.90770549, 156.78630936,
162.01545504, 154.59593421, 149.63253734, 183.18470086, 196.32791655,
183.93584654, 186.03057785, 186.22590654, 156.09019587, 137.76343138,
127.0869966, 137.34694566, 133.25311402, 122.55553768, 118.22456292,
159.65747998, 122.77510258, 157.04492207, 35.161096589, 45.037465606,
37.637919142, 35.049382182, 32.801385318, 39.203592294, 37.741972608,
38.730897325, 72.049982746, 40.391500365, 41.502300762, 38.760239251,
40.77839417, 36.989308973, 40.167455795, 33.865745389, 43.924857389,
39.943200256, 38.908906355, 32.228421472, 40.341142093, 47.464460314,
50.49858951, 57.964360275, 50.21179049, 60.817118221, 54.677239507,
53.517382246, 51.296274573, 89.214368205, 51.205341958, 45.581040358,
48.318404365, 56.420713722, 50.733345075, 47.746574266, 51.449188512,
53.159378413, 51.672878035, 54.984310906, 49.853546957, 54.635080749,
33.869158637, 36.420494624, 34.201671168, 31.169316346, 31.453926771,
30.995599174, 34.941078022, 36.430641747, 72.9296608, 44.5318984,
51.272563219, 40.981600774, 41.276944922, 34.307531597, 34.856211642,
35.116862867, 53.886082496, 32.843276934, 67.787450893, 64.072083277,
67.164756966, 37.15244679, 41.802139162, 45.057952384, 41.183183085,
40.94067696, 44.759495578, 45.310676813, 42.227278496, 77.741274912,
45.850713107, 37.290041421, 39.694496685, 43.410913574, 35.870854496,
39.492859059, 39.508746528, 35.526071853, 30.332660653, 30.208349818,
30.188126323, 33.049433254), Date = structure(c(17608, 17615, 17622,
17629, 17636, 17643, 17650, 17657, 17664, 17671, 17678, 17685,
17692, 17699, 17706, 17713, 17720, 17727, 17587, 17594, 17601,
17608, 17615, 17622, 17629, 17636, 17643, 17650, 17657, 17664,
17671, 17678, 17685, 17692, 17699, 17706, 17713, 17720, 17727,
17587, 17594, 17601, 17608, 17615, 17622, 17629, 17636, 17643,
17650, 17657, 17664, 17671, 17678, 17685, 17692, 17699, 17706,
17713, 17720, 17727, 17587, 17594, 17601, 17608, 17615, 17622,
17629, 17636, 17643, 17650, 17657, 17664, 17671, 17678, 17685,
17692, 17699, 17706, 17713, 17720, 17727, 17587, 17594, 17601,
17608, 17615, 17622, 17629, 17636, 17643, 17650, 17657, 17664,
17671, 17678, 17685, 17692, 17699, 17706, 17713, 17720, 17727,
17587, 17594, 17601, 17608, 17615, 17622, 17629, 17636, 17643,
17650, 17657, 17664, 17671, 17678, 17685, 17692, 17699, 17706,
17713, 17720, 17727, 17587, 17594, 17601, 17608, 17615, 17622,
17629, 17636, 17643, 17650, 17657, 17664, 17671, 17678, 17685,
17692, 17699, 17706, 17713, 17720, 17727), class = "Date")), row.names = c(NA,
144L), class = "data.frame")
and I applied the following code to apply ses
library(zoo)
library(forecast)
z <- read.zoo(data_set,FUN = function(x) as.Date(x) + seq_along(x) / 10^10 , index = "Date", split = "customer_id")
L <- lapply(as.list(z), function(x) ts(na.omit(x),frequency = 52))
HW <- lapply(L, ses)
Now my output class is list
with uneven lengths.Can someone help me how to unnest or unlist the output in to a data frame and get the fitted values,actuals,residuals along with their dates,sales and customer_id.
Note : the reson I post my input data rather than data of HW
is,the HW
data is too large.
Can someone help me in R.
r dataframe time-series exponential unnest
Please be clear, are you usingforecast::ses
?
– r2evans
Nov 19 at 15:58
1
Yes@r2evans and edited my question.Thanks!
– riyan
Nov 19 at 16:00
@G.Grothendieck I tried your method but it showed me like columns names likePoint Forecast
,Lo 80
,Hi 80
basically it showed me the intervals other than the fitted values and actual values which we can see in dput(HW) or view of HW.
– riyan
Nov 19 at 17:30
In order to unlist your output, you need to convert each element from classforecast
todata.frame
, and then you can bind the list elements together usingbind_rows
from packagedplyr
– Giorgi Chighladze
Nov 19 at 21:40
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
My data has multiple customers data with different start and end dates along with their sales data.So I did simple exponential smoothing.
My data set :
structure(list(customer_id = c("1-FI", "1-FI", "1-FI", "1-FI",
"1-FI", "1-G0175", "1-G0175", "1-G0175", "1-G0175", "1-G0175",
"1-G0175", "1-G0175", "1-G0175", "1-G0175", "1-G0175", "1-G0175",
"1-G0175", "1-G0175", "1-H0182", "1-H0182", "1-H0182", "1-H0182",
"1-H0182", "1-H0182", "1-H0182", "1-H0182", "1-H0182", "1-H0182",
"1-H0182", "1-H0182", "1-H0182", "1-H0182", "1-H0182", "1-H0182",
"1-H0182", "1-H0182", "1-H0182", "1-H0182", "1-H0182", "1-H0183",
"1-H0183", "1-H0183", "1-H0183", "1-H0183", "1-H0183", "1-H0183",
"1-H0183", "1-H0183", "1-H0183", "1-H0183", "1-H0183", "1-H0183",
"1-H0183", "1-H0183", "1-H0183", "1-H0183", "1-H0183", "1-H0183",
"1-H0183", "1-H0183", "1-H0184", "1-H0184", "1-H0184", "1-H0184",
"1-H0184", "1-H0184", "1-H0184", "1-H0184", "1-H0184", "1-H0184",
"1-H0184", "1-H0184", "1-H0184", "1-H0184", "1-H0184", "1-H0184",
"1-H0184", "1-H0184", "1-H0184", "1-H0184", "1-H0184", "1-H0185",
"1-H0185", "1-H0185", "1-H0185", "1-H0185", "1-H0185", "1-H0185",
"1-H0185", "1-H0185", "1-H0185", "1-H0185", "1-H0185", "1-H0185",
"1-H0185", "1-H0185", "1-H0185", "1-H0185", "1-H0185", "1-H0185",
"1-H0185", "1-H0185", "1-H0186", "1-H0186", "1-H0186", "1-H0186",
"1-H0186", "1-H0186", "1-H0186", "1-H0186", "1-H0186", "1-H0186",
"1-H0186", "1-H0186", "1-H0186", "1-H0186", "1-H0186", "1-H0186",
"1-H0186", "1-H0186", "1-H0186", "1-H0186", "1-H0186", "1-H0188",
"1-H0188", "1-H0188", "1-H0188", "1-H0188", "1-H0188", "1-H0188",
"1-H0188", "1-H0188", "1-H0188", "1-H0188", "1-H0188", "1-H0188",
"1-H0188", "1-H0188", "1-H0188", "1-H0188", "1-H0188", "1-H0188",
"1-H0188", "1-H0188"), sales = c(100.9418694, 121.80921729,
131.13242701, 129.25146751, 130.9114891, 59.862175475, 26.242577152,
26.242583584, 26.242582726, 26.242605024, 26.243207488, 26.244399981,
26.24368903, 26.242590016, 26.242607168, 26.244073664, 26.242733235,
26.252639373, 382.25686237, 383.5729855, 395.04823051, 410.71253335,
380.97085, 415.60929042, 405.40406353, 389.73811453, 422.75106934,
424.95123013, 396.27195067, 397.22035121, 403.07871072, 390.51585696,
387.14589889, 356.47379073, 409.86190435, 362.1045076, 482.70803877,
401.04191501, 396.80578737, 182.69071425, 182.90770549, 156.78630936,
162.01545504, 154.59593421, 149.63253734, 183.18470086, 196.32791655,
183.93584654, 186.03057785, 186.22590654, 156.09019587, 137.76343138,
127.0869966, 137.34694566, 133.25311402, 122.55553768, 118.22456292,
159.65747998, 122.77510258, 157.04492207, 35.161096589, 45.037465606,
37.637919142, 35.049382182, 32.801385318, 39.203592294, 37.741972608,
38.730897325, 72.049982746, 40.391500365, 41.502300762, 38.760239251,
40.77839417, 36.989308973, 40.167455795, 33.865745389, 43.924857389,
39.943200256, 38.908906355, 32.228421472, 40.341142093, 47.464460314,
50.49858951, 57.964360275, 50.21179049, 60.817118221, 54.677239507,
53.517382246, 51.296274573, 89.214368205, 51.205341958, 45.581040358,
48.318404365, 56.420713722, 50.733345075, 47.746574266, 51.449188512,
53.159378413, 51.672878035, 54.984310906, 49.853546957, 54.635080749,
33.869158637, 36.420494624, 34.201671168, 31.169316346, 31.453926771,
30.995599174, 34.941078022, 36.430641747, 72.9296608, 44.5318984,
51.272563219, 40.981600774, 41.276944922, 34.307531597, 34.856211642,
35.116862867, 53.886082496, 32.843276934, 67.787450893, 64.072083277,
67.164756966, 37.15244679, 41.802139162, 45.057952384, 41.183183085,
40.94067696, 44.759495578, 45.310676813, 42.227278496, 77.741274912,
45.850713107, 37.290041421, 39.694496685, 43.410913574, 35.870854496,
39.492859059, 39.508746528, 35.526071853, 30.332660653, 30.208349818,
30.188126323, 33.049433254), Date = structure(c(17608, 17615, 17622,
17629, 17636, 17643, 17650, 17657, 17664, 17671, 17678, 17685,
17692, 17699, 17706, 17713, 17720, 17727, 17587, 17594, 17601,
17608, 17615, 17622, 17629, 17636, 17643, 17650, 17657, 17664,
17671, 17678, 17685, 17692, 17699, 17706, 17713, 17720, 17727,
17587, 17594, 17601, 17608, 17615, 17622, 17629, 17636, 17643,
17650, 17657, 17664, 17671, 17678, 17685, 17692, 17699, 17706,
17713, 17720, 17727, 17587, 17594, 17601, 17608, 17615, 17622,
17629, 17636, 17643, 17650, 17657, 17664, 17671, 17678, 17685,
17692, 17699, 17706, 17713, 17720, 17727, 17587, 17594, 17601,
17608, 17615, 17622, 17629, 17636, 17643, 17650, 17657, 17664,
17671, 17678, 17685, 17692, 17699, 17706, 17713, 17720, 17727,
17587, 17594, 17601, 17608, 17615, 17622, 17629, 17636, 17643,
17650, 17657, 17664, 17671, 17678, 17685, 17692, 17699, 17706,
17713, 17720, 17727, 17587, 17594, 17601, 17608, 17615, 17622,
17629, 17636, 17643, 17650, 17657, 17664, 17671, 17678, 17685,
17692, 17699, 17706, 17713, 17720, 17727), class = "Date")), row.names = c(NA,
144L), class = "data.frame")
and I applied the following code to apply ses
library(zoo)
library(forecast)
z <- read.zoo(data_set,FUN = function(x) as.Date(x) + seq_along(x) / 10^10 , index = "Date", split = "customer_id")
L <- lapply(as.list(z), function(x) ts(na.omit(x),frequency = 52))
HW <- lapply(L, ses)
Now my output class is list
with uneven lengths.Can someone help me how to unnest or unlist the output in to a data frame and get the fitted values,actuals,residuals along with their dates,sales and customer_id.
Note : the reson I post my input data rather than data of HW
is,the HW
data is too large.
Can someone help me in R.
r dataframe time-series exponential unnest
My data has multiple customers data with different start and end dates along with their sales data.So I did simple exponential smoothing.
My data set :
structure(list(customer_id = c("1-FI", "1-FI", "1-FI", "1-FI",
"1-FI", "1-G0175", "1-G0175", "1-G0175", "1-G0175", "1-G0175",
"1-G0175", "1-G0175", "1-G0175", "1-G0175", "1-G0175", "1-G0175",
"1-G0175", "1-G0175", "1-H0182", "1-H0182", "1-H0182", "1-H0182",
"1-H0182", "1-H0182", "1-H0182", "1-H0182", "1-H0182", "1-H0182",
"1-H0182", "1-H0182", "1-H0182", "1-H0182", "1-H0182", "1-H0182",
"1-H0182", "1-H0182", "1-H0182", "1-H0182", "1-H0182", "1-H0183",
"1-H0183", "1-H0183", "1-H0183", "1-H0183", "1-H0183", "1-H0183",
"1-H0183", "1-H0183", "1-H0183", "1-H0183", "1-H0183", "1-H0183",
"1-H0183", "1-H0183", "1-H0183", "1-H0183", "1-H0183", "1-H0183",
"1-H0183", "1-H0183", "1-H0184", "1-H0184", "1-H0184", "1-H0184",
"1-H0184", "1-H0184", "1-H0184", "1-H0184", "1-H0184", "1-H0184",
"1-H0184", "1-H0184", "1-H0184", "1-H0184", "1-H0184", "1-H0184",
"1-H0184", "1-H0184", "1-H0184", "1-H0184", "1-H0184", "1-H0185",
"1-H0185", "1-H0185", "1-H0185", "1-H0185", "1-H0185", "1-H0185",
"1-H0185", "1-H0185", "1-H0185", "1-H0185", "1-H0185", "1-H0185",
"1-H0185", "1-H0185", "1-H0185", "1-H0185", "1-H0185", "1-H0185",
"1-H0185", "1-H0185", "1-H0186", "1-H0186", "1-H0186", "1-H0186",
"1-H0186", "1-H0186", "1-H0186", "1-H0186", "1-H0186", "1-H0186",
"1-H0186", "1-H0186", "1-H0186", "1-H0186", "1-H0186", "1-H0186",
"1-H0186", "1-H0186", "1-H0186", "1-H0186", "1-H0186", "1-H0188",
"1-H0188", "1-H0188", "1-H0188", "1-H0188", "1-H0188", "1-H0188",
"1-H0188", "1-H0188", "1-H0188", "1-H0188", "1-H0188", "1-H0188",
"1-H0188", "1-H0188", "1-H0188", "1-H0188", "1-H0188", "1-H0188",
"1-H0188", "1-H0188"), sales = c(100.9418694, 121.80921729,
131.13242701, 129.25146751, 130.9114891, 59.862175475, 26.242577152,
26.242583584, 26.242582726, 26.242605024, 26.243207488, 26.244399981,
26.24368903, 26.242590016, 26.242607168, 26.244073664, 26.242733235,
26.252639373, 382.25686237, 383.5729855, 395.04823051, 410.71253335,
380.97085, 415.60929042, 405.40406353, 389.73811453, 422.75106934,
424.95123013, 396.27195067, 397.22035121, 403.07871072, 390.51585696,
387.14589889, 356.47379073, 409.86190435, 362.1045076, 482.70803877,
401.04191501, 396.80578737, 182.69071425, 182.90770549, 156.78630936,
162.01545504, 154.59593421, 149.63253734, 183.18470086, 196.32791655,
183.93584654, 186.03057785, 186.22590654, 156.09019587, 137.76343138,
127.0869966, 137.34694566, 133.25311402, 122.55553768, 118.22456292,
159.65747998, 122.77510258, 157.04492207, 35.161096589, 45.037465606,
37.637919142, 35.049382182, 32.801385318, 39.203592294, 37.741972608,
38.730897325, 72.049982746, 40.391500365, 41.502300762, 38.760239251,
40.77839417, 36.989308973, 40.167455795, 33.865745389, 43.924857389,
39.943200256, 38.908906355, 32.228421472, 40.341142093, 47.464460314,
50.49858951, 57.964360275, 50.21179049, 60.817118221, 54.677239507,
53.517382246, 51.296274573, 89.214368205, 51.205341958, 45.581040358,
48.318404365, 56.420713722, 50.733345075, 47.746574266, 51.449188512,
53.159378413, 51.672878035, 54.984310906, 49.853546957, 54.635080749,
33.869158637, 36.420494624, 34.201671168, 31.169316346, 31.453926771,
30.995599174, 34.941078022, 36.430641747, 72.9296608, 44.5318984,
51.272563219, 40.981600774, 41.276944922, 34.307531597, 34.856211642,
35.116862867, 53.886082496, 32.843276934, 67.787450893, 64.072083277,
67.164756966, 37.15244679, 41.802139162, 45.057952384, 41.183183085,
40.94067696, 44.759495578, 45.310676813, 42.227278496, 77.741274912,
45.850713107, 37.290041421, 39.694496685, 43.410913574, 35.870854496,
39.492859059, 39.508746528, 35.526071853, 30.332660653, 30.208349818,
30.188126323, 33.049433254), Date = structure(c(17608, 17615, 17622,
17629, 17636, 17643, 17650, 17657, 17664, 17671, 17678, 17685,
17692, 17699, 17706, 17713, 17720, 17727, 17587, 17594, 17601,
17608, 17615, 17622, 17629, 17636, 17643, 17650, 17657, 17664,
17671, 17678, 17685, 17692, 17699, 17706, 17713, 17720, 17727,
17587, 17594, 17601, 17608, 17615, 17622, 17629, 17636, 17643,
17650, 17657, 17664, 17671, 17678, 17685, 17692, 17699, 17706,
17713, 17720, 17727, 17587, 17594, 17601, 17608, 17615, 17622,
17629, 17636, 17643, 17650, 17657, 17664, 17671, 17678, 17685,
17692, 17699, 17706, 17713, 17720, 17727, 17587, 17594, 17601,
17608, 17615, 17622, 17629, 17636, 17643, 17650, 17657, 17664,
17671, 17678, 17685, 17692, 17699, 17706, 17713, 17720, 17727,
17587, 17594, 17601, 17608, 17615, 17622, 17629, 17636, 17643,
17650, 17657, 17664, 17671, 17678, 17685, 17692, 17699, 17706,
17713, 17720, 17727, 17587, 17594, 17601, 17608, 17615, 17622,
17629, 17636, 17643, 17650, 17657, 17664, 17671, 17678, 17685,
17692, 17699, 17706, 17713, 17720, 17727), class = "Date")), row.names = c(NA,
144L), class = "data.frame")
and I applied the following code to apply ses
library(zoo)
library(forecast)
z <- read.zoo(data_set,FUN = function(x) as.Date(x) + seq_along(x) / 10^10 , index = "Date", split = "customer_id")
L <- lapply(as.list(z), function(x) ts(na.omit(x),frequency = 52))
HW <- lapply(L, ses)
Now my output class is list
with uneven lengths.Can someone help me how to unnest or unlist the output in to a data frame and get the fitted values,actuals,residuals along with their dates,sales and customer_id.
Note : the reson I post my input data rather than data of HW
is,the HW
data is too large.
Can someone help me in R.
r dataframe time-series exponential unnest
r dataframe time-series exponential unnest
edited Nov 19 at 16:00
asked Nov 19 at 15:52
riyan
106
106
Please be clear, are you usingforecast::ses
?
– r2evans
Nov 19 at 15:58
1
Yes@r2evans and edited my question.Thanks!
– riyan
Nov 19 at 16:00
@G.Grothendieck I tried your method but it showed me like columns names likePoint Forecast
,Lo 80
,Hi 80
basically it showed me the intervals other than the fitted values and actual values which we can see in dput(HW) or view of HW.
– riyan
Nov 19 at 17:30
In order to unlist your output, you need to convert each element from classforecast
todata.frame
, and then you can bind the list elements together usingbind_rows
from packagedplyr
– Giorgi Chighladze
Nov 19 at 21:40
add a comment |
Please be clear, are you usingforecast::ses
?
– r2evans
Nov 19 at 15:58
1
Yes@r2evans and edited my question.Thanks!
– riyan
Nov 19 at 16:00
@G.Grothendieck I tried your method but it showed me like columns names likePoint Forecast
,Lo 80
,Hi 80
basically it showed me the intervals other than the fitted values and actual values which we can see in dput(HW) or view of HW.
– riyan
Nov 19 at 17:30
In order to unlist your output, you need to convert each element from classforecast
todata.frame
, and then you can bind the list elements together usingbind_rows
from packagedplyr
– Giorgi Chighladze
Nov 19 at 21:40
Please be clear, are you using
forecast::ses
?– r2evans
Nov 19 at 15:58
Please be clear, are you using
forecast::ses
?– r2evans
Nov 19 at 15:58
1
1
Yes@r2evans and edited my question.Thanks!
– riyan
Nov 19 at 16:00
Yes@r2evans and edited my question.Thanks!
– riyan
Nov 19 at 16:00
@G.Grothendieck I tried your method but it showed me like columns names like
Point Forecast
, Lo 80
, Hi 80
basically it showed me the intervals other than the fitted values and actual values which we can see in dput(HW) or view of HW.– riyan
Nov 19 at 17:30
@G.Grothendieck I tried your method but it showed me like columns names like
Point Forecast
, Lo 80
, Hi 80
basically it showed me the intervals other than the fitted values and actual values which we can see in dput(HW) or view of HW.– riyan
Nov 19 at 17:30
In order to unlist your output, you need to convert each element from class
forecast
to data.frame
, and then you can bind the list elements together using bind_rows
from package dplyr
– Giorgi Chighladze
Nov 19 at 21:40
In order to unlist your output, you need to convert each element from class
forecast
to data.frame
, and then you can bind the list elements together using bind_rows
from package dplyr
– Giorgi Chighladze
Nov 19 at 21:40
add a comment |
1 Answer
1
active
oldest
votes
up vote
1
down vote
I would use tidyverse
package to handle this problem.
map(HW, ~ .x %>%
as.data.frame %>% # convert each element of the list to data.frame
rownames_to_column) %>% # add row names as columns within each element
bind_rows(.id = "customer_id") # bind all elements and add customer ID
I am not sure how to relate dates and actual sales to your output (HW
). If you explain it I might provide solution to that part of the problem too.
Still no luck,the output is showing only Lo and Hi values.I just want the actual values(from input),dates(from input) alsong with their customer_id and their exponential values in a data frame.
– riyan
yesterday
@riyan, can you show what the final table should look like. For instance, for customer "I-H0188" how do you want to combine HW and input data.
– Giorgi Chighladze
8 hours ago
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
I would use tidyverse
package to handle this problem.
map(HW, ~ .x %>%
as.data.frame %>% # convert each element of the list to data.frame
rownames_to_column) %>% # add row names as columns within each element
bind_rows(.id = "customer_id") # bind all elements and add customer ID
I am not sure how to relate dates and actual sales to your output (HW
). If you explain it I might provide solution to that part of the problem too.
Still no luck,the output is showing only Lo and Hi values.I just want the actual values(from input),dates(from input) alsong with their customer_id and their exponential values in a data frame.
– riyan
yesterday
@riyan, can you show what the final table should look like. For instance, for customer "I-H0188" how do you want to combine HW and input data.
– Giorgi Chighladze
8 hours ago
add a comment |
up vote
1
down vote
I would use tidyverse
package to handle this problem.
map(HW, ~ .x %>%
as.data.frame %>% # convert each element of the list to data.frame
rownames_to_column) %>% # add row names as columns within each element
bind_rows(.id = "customer_id") # bind all elements and add customer ID
I am not sure how to relate dates and actual sales to your output (HW
). If you explain it I might provide solution to that part of the problem too.
Still no luck,the output is showing only Lo and Hi values.I just want the actual values(from input),dates(from input) alsong with their customer_id and their exponential values in a data frame.
– riyan
yesterday
@riyan, can you show what the final table should look like. For instance, for customer "I-H0188" how do you want to combine HW and input data.
– Giorgi Chighladze
8 hours ago
add a comment |
up vote
1
down vote
up vote
1
down vote
I would use tidyverse
package to handle this problem.
map(HW, ~ .x %>%
as.data.frame %>% # convert each element of the list to data.frame
rownames_to_column) %>% # add row names as columns within each element
bind_rows(.id = "customer_id") # bind all elements and add customer ID
I am not sure how to relate dates and actual sales to your output (HW
). If you explain it I might provide solution to that part of the problem too.
I would use tidyverse
package to handle this problem.
map(HW, ~ .x %>%
as.data.frame %>% # convert each element of the list to data.frame
rownames_to_column) %>% # add row names as columns within each element
bind_rows(.id = "customer_id") # bind all elements and add customer ID
I am not sure how to relate dates and actual sales to your output (HW
). If you explain it I might provide solution to that part of the problem too.
answered Nov 19 at 22:10
Giorgi Chighladze
665
665
Still no luck,the output is showing only Lo and Hi values.I just want the actual values(from input),dates(from input) alsong with their customer_id and their exponential values in a data frame.
– riyan
yesterday
@riyan, can you show what the final table should look like. For instance, for customer "I-H0188" how do you want to combine HW and input data.
– Giorgi Chighladze
8 hours ago
add a comment |
Still no luck,the output is showing only Lo and Hi values.I just want the actual values(from input),dates(from input) alsong with their customer_id and their exponential values in a data frame.
– riyan
yesterday
@riyan, can you show what the final table should look like. For instance, for customer "I-H0188" how do you want to combine HW and input data.
– Giorgi Chighladze
8 hours ago
Still no luck,the output is showing only Lo and Hi values.I just want the actual values(from input),dates(from input) alsong with their customer_id and their exponential values in a data frame.
– riyan
yesterday
Still no luck,the output is showing only Lo and Hi values.I just want the actual values(from input),dates(from input) alsong with their customer_id and their exponential values in a data frame.
– riyan
yesterday
@riyan, can you show what the final table should look like. For instance, for customer "I-H0188" how do you want to combine HW and input data.
– Giorgi Chighladze
8 hours ago
@riyan, can you show what the final table should look like. For instance, for customer "I-H0188" how do you want to combine HW and input data.
– Giorgi Chighladze
8 hours ago
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53378287%2funnest-a-ts-class%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Please be clear, are you using
forecast::ses
?– r2evans
Nov 19 at 15:58
1
Yes@r2evans and edited my question.Thanks!
– riyan
Nov 19 at 16:00
@G.Grothendieck I tried your method but it showed me like columns names like
Point Forecast
,Lo 80
,Hi 80
basically it showed me the intervals other than the fitted values and actual values which we can see in dput(HW) or view of HW.– riyan
Nov 19 at 17:30
In order to unlist your output, you need to convert each element from class
forecast
todata.frame
, and then you can bind the list elements together usingbind_rows
from packagedplyr
– Giorgi Chighladze
Nov 19 at 21:40