То, как вы звоните covmatrix
, дает правильный результат, но не то, что вы ожидаете.Вызов эквивалентен
covmatrix(h1 = 1, h2 = 1)
covmatrix(h1 = 2, h2 = 2)
и т. Д.
Правильный способ вызова функции для каждой комбинации двух аргументов - outer
.
outer(1:5, 1:5, covmatrix)
# [,1] [,2] [,3] [,4] [,5]
#[1,] -0.41601317 -0.370097057 -0.124465470 -0.047267383 0.11745561
#[2,] -0.47072758 -0.272059262 -0.029614627 0.088643875 0.02381160
#[3,] -0.30116584 -0.258246136 -0.061882282 0.090978006 -0.05854558
#[4,] -0.08414056 -0.066622517 0.008072885 -0.035487867 -0.06632959
#[5,] 0.18854949 -0.003135701 -0.160137172 0.008353789 -0.18484782
Код генерации данных.
Я повторю код генерации данных, но на этот раз установлю начальное значение ГСЧ.
set.seed(1234)
x <- arima.sim(n = 100, list(ar = 0.5))
Кроме того, в вопросе, который вы пропустили n <- 100
.