создание объекта временного ряда - PullRequest
0 голосов
/ 06 мая 2019

У меня проблема со следующим фреймом даты, в котором я хочу передать столбец "vendas" объекту временного ряда типа.

head(base3)
# A tibble: 6 x 4
# Groups:   trimestre, ano [6]
  trimestre   ano Código.do.Produto vendas
      <int> <dbl> <fct>              <dbl>
1         3  2009 S3                  7300
2         1  2010 S3                  7900
3         2  2010 S3                 50700
4         3  2010 S3                 20900
5         2  2011 S3                 12000
6         3  2011 S3                  2300

Я пытаюсь это сделать:

baseaux<-base3%>%filter(ano==min(base3$ano))
ts<-ts(base3[,4],start=c(min(base3$ano),min(baseaux$trimestre)),frequency=4)

и я получаю это:

  Qtr1   Qtr2   Qtr3   Qtr4
2009                 7300   7900
2010  50700  20900  12000   2300
2011  15000  35000  30000      0
2012  10300  35000  50000  60000
2013  90000 111400  80000  30900
2014  46400  21700  32300   2500
2015   1800   5000 300000  38000
2016  42000  68000  27900 229500
2017  12100 243000 180300 283000
2018 137000 

дата во временном ряду создается на непрерывной основе времени.Но у меня нет данных фрейма данных таким образом.Как мне это исправить?

1 Ответ

0 голосов
/ 08 мая 2019

Вывод у вас только из-за спецификации print для объекта ts. На самом деле вам не нужно беспокоиться, если вам нужно поместить ваш объект ts в ваш data.frame, потому что на самом деле объект ts является вектором. ts Объект является матрицей только в том случае, если вы ее указали, и если вам нужно несколько временных рядов, например, один для каждого года. Код выше работает хорошо для меня:

df <- data.frame(trimestre = c(3, 1, 2, 3),
                 ano = c(2009, 2010, 2010, 2010),
                 Código.do.Produto = "S3",
                 vendas = c(7300, 7900, 50700, 20900))

baseaux <- df %>% filter(ano==min(ano))

ts <- ts(df[,4],start=c(min(df$ano),min(baseaux$trimestre)), frequency=4)

df$ts <- ts

Этот код просто показывает вам, что ts как вы его создали, это вектор, который видит результат str, и вы видите, что опция print по умолчанию calendar=T, которая заставляет вас думать, что результат был матрица, но это не так, если вы посмотрите на TS с опцией othe.

print(ts)
print(ts, calendar = F)
str(ts)

Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...