Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
利用rom矢量化函数实现阵列外部函数_R_Vectorization - Fatal编程技术网

利用rom矢量化函数实现阵列外部函数

利用rom矢量化函数实现阵列外部函数,r,vectorization,R,Vectorization,我正在对一个双参数函数进行矢量化,结果是一个3d数组。为了得到这个输出,我使用了外部函数,但我一直收到一条错误消息(即使我找到了向量化函数) 我尝试了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[-

我正在对一个双参数函数进行矢量化,结果是一个3d数组。为了得到这个输出,我使用了外部函数,但我一直收到一条错误消息(即使我找到了向量化函数)

我尝试了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的数组(n x mc x q)。

尝试将
SIMPLIFY=FALSE
添加到
Vectorize

 covmat=outer(1:q,1:q,Vectorize(gamhat, SIMPLIFY = F))

这可能不是您所期望的,因为它将是一个3x3的数字向量列表,但这正是您在outer的前两个参数中所要求的。

尝试将
SIMPLIFY=FALSE
添加到
向量化

 covmat=outer(1:q,1:q,Vectorize(gamhat, SIMPLIFY = F))
它可能并不完全是您所期望的,因为它将是一个3x3的数字向量列表,但这正是您在outer的前两个参数中所要求的