Давайте начнем с конца: вывод R будет прочитан в Tableau для создания панели управления, и поэтому мне нужно, чтобы вывод R выглядел определенным образом. Имея это в виду, я начинаю с кадра данных в R с n группами временных рядов. Я хочу запускать auto.arima (или другой метод прогнозирования из прогноза пакета) по каждой группе. Я использую функцию by this для этого, но я не привязан к этому подходу, это просто то, что, похоже, делает работу для R-новичка, подобного мне. Результат, который мне нужен, добавит (скажем) 1 период к исходному фрейму данных, заполняя дату (переменную t) и переменную (переменный класс). Если возможно, мне хотелось бы, чтобы подход обобщал на несколько по переменным (например, class_1, ... class_n,).Извлечь данные из объекта by-timeseries
#generate fake data
t<-seq(as.Date("2012/1/1"), by = "month", length.out = 36)
class<-rep(c("A","B"),each=18)
set.seed(1234)
metric<-as.numeric(arima.sim(model=list(order=c(2,1,1),ar=c(0.5,.3),ma=0.3),n=35))
df <- data.frame(t,class,metric)
df$type<-"ORIGINAL"
#sort of what I'd like to do
library(forecast)
ts<-ts(df$metric)
ts<-by(df$metric,df$class,auto.arima)
#extract forecast and relevant other pieces of data
#???
#what I'd like to look like
t<-as.Date(c("2013/7/1","2015/1/1"))
class<-rep(c("A","B"),each=1)
metric<-c(1.111,2.222)
dfn <- data.frame(t,class,metric)
dfn$type<-"FORECAST"
dfinal<-rbind(df,dfn)
Я не привязан к какому-то, до тех пор, как он начинается с кадром данных, который выглядит как то, что я описал, и выводит кадр данных, как выход я описал.