繁体   English   中英

如何从R中的预测中提取预测?

[英]How to extract forecast from predict in R?

我在具有多个位置的时间序列上运行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

如何使用:

locs <- sapply(pred$fcst[LOC], function (k) k[ , 1])

这个想法是pred$fcst是一个命名列表。 你已经在LOC了你想要的名字。 现在我们可以收集名称在LOC的元素,然后从每个元素中提取第一列到locs

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM