我正在尝试运行BVAR模型库(“MSBVAR”)。它在没有外生变量(Z = NULL)的情况下工作正常但是,当我添加Z = exogen时,我得到: if(num.exog == 0){:参数长度为零的错误。 < / p>
这是我的代码:
GDP <- ts(dataIR$RealGDP, start= c(2008, 1), frequency = 12)
CPI <- ts(dataIR$CPI, start= c(2008, 1), frequency = 12)
M3 <- ts(dataIR$M3, start= c(2008, 1), frequency = 12
MR <- ts(dataIR$MR, start= c(2008, 1), frequency = 12)
Rgdp <- ts(dataIR$RGDP, start= c(2008, 1), frequency = 12)#already interpolated
所有变量都在级别并且具有相同的长度:
data = cbind(lgdp, lcpi, lm3, dMR)
names <- colnames(data)
exogen <- diff(log(Rgdp)
macro.BVAR <- szbvar(Y=data,
p=10, #lag length
z=exogen, # exogenous variable
lambda0=0.6, lambda1=0.1,
lambda3=2, lambda4=0.25, lambda5=0,
mu5=0,mu6=0, nu=3, qm=4, # hyperparameters
prior=0) # Normal-Wishart
summary(macro.BVAR)
答案 0 :(得分:0)
外源性必须是一种基质。尝试使用
as.matrix(exogen)