假设我有以下" for"循环在R。
USDlogreturns=diff(log(prices))
for(i in 0:5){
for(j in 0:5){
fit <- arima(USDlogreturns, order=c(i,0,j), include.mean=TRUE)
}
}
如何告诉R用所有估计模型的系数替换NA矩阵?
答案 0 :(得分:1)
您需要一个尺寸为36倍13的矩阵M
。
然后使用
M=matrix(NA,36,13)
k=0 # current row being filled in
for(i in 0:5){
for(j in 0:5){
k=k+1
fit <- arima(USDlogreturns, order=c(i,0,j), include.mean=TRUE)
if(i>0) M[k,c(1: i) ]=fit$coef[c( 1 : i )] # AR coefficients in the 2nd-6th columns
if(j>0) M[k,c(8:(7+j))]=fit$coef[c((i+1):(i+j))] # MA coefficients in the 8th-12th columns
M[k, 13 ]=tail(fit$coef,1) # "intercept" (actually, mean) in the 13th column
}
}
第2列到第6列将包含AR系数
第8至12列将包含MA系数
第13列将包含&#34;拦截&#34; (实际上,手段,因为arima
函数中的术语具有误导性。)