VAR中的错误:y和外源基因的不同行大小

xmd2e60i  于 2023-01-28  发布在  其他
关注(0)|答案(1)|浏览(110)

我尝试在R中建立VAR模型,外生变量为:

vndata <- read.csv("vndata.txt", sep="")
names(vndata)
da <- data.frame(vndata[2:dim(vndata),])

# STOCK PRICE MODEL
y <- da[, c("irate", "stockp", "mrate", "frate")]
x <- data.frame(da[, c("cdi")])

library("vars")
VARselect(y, lag.max = 8,exogen = x)
var1 <- restrict(VAR(y, p = 2,exogen = x),method = c("ser"),thresh = 1.56)

然后,绘制脉冲响应函数:

plot(irf(var1, impulse = c("irate"), response = c("frate"), boot = T,
cumulative = FALSE,n.ahead = 20))

但是,它会生成警告:

Error in VAR(y = ysampled, p = 2, exogen = x) :   
Different row size of y and exogen.

我不知道发生了什么。我使用dim()来确保yx具有相同的行大小。

j0pj023g

j0pj023g1#

试试这个,对我很有效:

.GlobalEnv$exogen <- x 
VARselect(y, lag.max = 8,exogen = .GlobalEnv$exogen)

相关问题