Я векторизовал функцию с двумя параметрами, и в результате получился трехмерный массив.Чтобы получить этот вывод, я использую внешнюю функцию, но продолжаю получать сообщение об ошибке (даже когда я связываю функцию Vectorized).
Я пробовал cbind, как и другие проблемы с аналогичным кодом ошибки.
n=20
mc=10
q=3
x=matrix(0,ncol=mc, nrow=n)
for (j in 1:mc){
x[,j]=arima.sim(n = n , list(ar = .5))
}
gamhat=function(h1,h2){(1/n)*colSums((x[-c((n-(h1+h2)+1):n),]-
colMeans(x))*(x[-c(1:h1,(n-h2+1):n),]-colMeans(x))*(x[-c(1:(h1+h2)),]-
colMeans(x)))
}
covmat=outer(1:q,1:q,Vectorize(gamhat))
Ожидается массив из 20 * 10 * 3 (как nx mc xq).