我在具有多个位置的时间序列上运行 VAR。假设 loc1、loc2 和 loc3 是时间序列数据的列名。

fitVAR = VAR(data,p=order,type = "both", ic = "AIC")
pred = predict(fitVAR,n.ahead = L)

我知道我可以通过 pred$fcst$loc1[,1] 等获得预测。但是假设我想编写一个函数来执行此操作,该函数将位置名称作为输入变量(例如 LOC=c("loc1","loc2","loc3")) 。我该怎么做?

最佳答案

您可以像这样使用 lapply:

 lapply(predict(pp)$fcst[LOC],'[',,1)

例如:
data(Canada)
fit <- VAR(Canada, p = 2, type = "none")
LOC <- c('e','U')
lapply(predict(fit)$fcst[LOC],'[',,'fcst')
lapply(predict(fit)$fcst[LOC],'[',,1)
$e
 [1] 962.3490 962.7852 963.1305 963.4016 963.6116 963.7742
     963.9023 964.0081 964.1026 964.1954

$U
 [1] 6.764097 6.751969 6.804301 6.900299 7.030548 7.184748
     7.353441 7.528150 7.701521 7.867432

关于r - 如何从R中的预测中提取预测?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17330757/

10-12 23:26