Вывод у вас только из-за спецификации 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)
Надеюсь, это поможет вам.