【发布时间】:2019-05-19 17:26:35
【问题描述】:
我有一个双参数函数(具有两个滞后的自协方差函数)来向量化,但我无法将其作为矩阵的输出。我试图避免 for 循环和各种应用函数。
我正在尝试Vectorize 和vectorize(新的)。例如,我想要一个 5 x 5 的协方差矩阵。当我输入
covmatrix(h1 = 1:5, h2 = 1:5)
我只得到对角线而不是完整的矩阵。
x=arima.sim(n = 100 , list(ar = .5))
cov=function(h1,h2){
(1/n)*sum((x[1:(n-h1-h2)]-mean(x))*(x[(1+h1):(n-h2)]-mean(x))*(x[(1+h1+h2):n]-mean(x)))
}
covmatrix=Vectorize(cov)
我期待一个矩阵,因为输入是一个有两个参数的函数。
【问题讨论】:
标签: r vectorization