2016-08-31 5 views
0

я это т.с.:Преобразование TS в кадре данных

Point  Forecast  Lo 80 Hi 80  Lo 95 Hi 95 
2015.173  1.657143 0.06698996 3.247296 -0.7747861 4.089072 
2015.192  1.657143 0.06698996 3.247296 -0.7747861 4.089072 
2015.212  1.657143 0.06698996 3.247296 -0.7747861 4.089072 
2015.231  1.657143 0.06698996 3.247296 -0.7747861 4.089072 
2015.250  1.657143 0.06698996 3.247296 -0.7747861 4.089072 
2015.269  1.657143 0.06698996 3.247296 -0.7747861 4.089072 
2015.288  1.657143 0.06698996 3.247296 -0.7747861 4.089072 
2015.308  1.657143 0.06698996 3.247296 -0.7747861 4.089072 

Как я могу преобразовать его в ц, я использую:

fct <- data.frame(date=as.Date(index(fca)), Y = melt(fca)) 

Но я получаю эту ошибку:

Error in data.frame(date = as.Date(index(fca)), Y = melt(fca)) :
arguments imply differing number of rows: 10, 16

Кто-то знает, как это исправить?

ответ

0

Выход forecast выглядит только как кадр данных при его печати. Но если вы посмотрите на структуру с str(fca), вы увидите беспорядочные кишки объекта.

То, что вы видите, когда вы вызываете print(fca), - это специально подобранный выход как визуальная помощь ТОЛЬКО. Это не означает, что основной объект является матрично-подобным массивом.

Решение состоит в том, чтобы извлечь детали, которые вы используете, и создать из них кадр данных.

library(forecast) 
fit <- Arima(WWWusage,c(3,1,0)) 
fca <- forecast(fit) 
cbind.data.frame(Point=fca$mean, Lower=fca$lower, Upper=fca$upper) 
#   Point Lower.80% Lower.95% Upper.80% Upper.95% 
# 1 0.005151116 -1.271415 -1.947189 1.281718 1.957491 
# 2 -0.170997839 -1.716453 -2.534568 1.374457 2.192572 
# 3 -0.205288123 -1.782216 -2.616991 1.371640 2.206415 
# 4 -0.221099340 -1.812749 -2.655317 1.370550 2.213119 
# 5 -0.229741679 -1.830356 -2.677670 1.370872 2.218186 
# 6 -0.234764205 -1.841557 -2.692142 1.372029 2.222614 
# 7 -0.237705586 -1.849083 -2.702094 1.373671 2.226683 
# 8 -0.239354235 -1.854302 -2.709204 1.375594 2.230495 
# 9 -0.240158452 -1.857987 -2.714414 1.377670 2.234097 
# 10 -0.240391964 -1.860607 -2.718298 1.379824 2.237514 

Редактировать

Даты скрыты довольно хорошо в данных. Я не нашел точного вектора даты. Я считаю, что она порождается атрибутом tsp, указывающей начало, конец и длина:

dates <- attr(fca$mean, "tsp") 
datecol <- seq(from=dates[1], to=dates[2], by=dates[3]) 
+0

Спасибо это было то, что мне нужно, только еще один вопрос, который я могу добавить дату? – Erika

+0

Я не мог найти его напрямую. Но редактирование может помочь. –

+0

Спасибо, что это очень помогает – Erika

Смежные вопросы