Я создал следующий пример кода, чтобы нарисовать "функцию импульсного ответа" в R с помощью пакета [vars][1]
.
library(vars)
data(Canada)
Canada <- data.frame(Canada)
irfplot = function(x, y) {
VAR <- VAR(cbind(x,y), p = 2, type = "trend")
irf_o <-irf(VAR, impulse = colnames(VAR$y)[1], response = colnames(VAR$y)[2], boot = TRUE, cumulative = FALSE, n.ahead = 20, ci = 0.90)
plot(irf_o)
}
irfplot(Canada["rw"],Canada["U"])
Это должно работать до сих пор. Однако при попытке сделать script более гибким, записав функцию как
irfplot = function(x, y, lags, deter) {
VAR <- VAR(cbind(x,y), p = lags, type = deter)
...
irfplot(Canada["rw"],Canada["U"], 2, "trend")
он возвращает:
Error in VAR(y = ysampled, p = lags, type = "trend") :
object 'lags' not found
Вопрос: Как решить проблему? У меня есть некоторые другие функции, которые передают значения через объекты, но по какой-либо причине они не работают.
Спасибо.