пример данных здесь:
err <- ts(c(0.6100, 1.3500, 1.0300, 0.9600, 1.1100, 0.8350 , 0.8800 , 1.0600 , 1.3800 , 1.6200, 1.5800 , 1.2800 , 1.3000 , 1.4300 , 2.1500 , 1.9100 , 1.8300 , 1.9500 ,1.9999, 1.8500 , 1.5500 , 1.9800 ,1.7044 ,1.8593 , 1.9900 , 2.0400, 1.8950, 2.0100 , 1.6900 , 2.1800 ,2.2150, 2.1293 , 2.1000 , 2.1200 , 2.0500 , 1.9000, 1.8350, 1.9000 ,1.9500 , 1.7800 , 1.5950, 1.8500 , 1.8400, 1.5800, 1.6100 , 1.7200 , 1.8500 , 1.6700, 1.8050, 1.9400, 1.5000 , 1.3100 , 1.4864, 1.2400 , 0.9300 , 1.1400, -0.6100, -0.4300 ,-0.4700 ,-0.3450), frequency = 7, start = c(23, 1), end = c(31, 4))
Я просто создам две arima
модели и составлю список
и таблица данных двух моделей:
m1 <- arima(x = err, order=c(0,0,5), include.mean=F)
m2 <- arima(x = err, order=c(0,1,1), include.mean=F)
m.list <- list(m1, m2)
m.comb <- c(m1, m2)
m.dt <- data.table(a=m1, b=m2)
сейчас m.list[1]
или m.list$coef
дали значения первой модели; и это не имеет смысла для меня, я ожидаю, что m.list[1]
даст мне полную первую модель, а m.list$coef
даже не должно существовать. Конечно, я предполагаю, что R, по крайней мере, ведет себя немного, как другие языки, такие как python или C ++, не говоря уже о других. Я могу быть очень не прав.
m.dt
, кажется, полностью теряет структуру и становится немного странным:
m.a <- m.dt[, "a"]
m.a
# output
a
1: 1.105733,1.221225,1.215059,0.939646,0.570557
2: 0.18465
3: 0.019905835, 0.012235097,-0.002690923,-0.018219027,-0.018363215, 0.012235097, 0.020627900, 0.007399694,-0.003498485, 0.001069299,-0.002690923, 0.007399694, 0.027766607, 0.042303357, 0.033649641,-0.018219027,-0.003498485, 0.042303357, 0.097345388, 0.071969149,-0.018363215, 0.001069299, 0.033649641, 0.071969149, 0.068308454,...
4: TRUE,TRUE,TRUE,TRUE,TRUE
5: -36.47995
6: 82.95989
7: 0,5,0,0,7,0,...
8: 0.241144876, 0.672481832,-0.319954235, 0.066421765, 0.378785306, 0.003550614,...
9: <call>
10: x
11: 0
12: 0
13: 60
14: <list>
выше буквально является просто сводкой, и если мы намереваемся получить доступ к m.dt[, "a"][14]
, он буквально просто печатает «список» и ничего больше.
Как мне составить список из двух моделей, которые сохраняют свою первоначальную структуру? (кажется, что это очень простая реализация согласованности данных на любом языке программирования)
EDIT
, где я хотел сказать, m.comb[1]
и m.comb$coef
дают только коэффициенты, я отметил m.list
, что было ошибкой, и указал в своем ответе @ 42-.