编码:
A <- matrix(NA, nrow = 10, ncol = 3)
colnames(A) <- paste('trial', 1:3)
让我想用不同的东西来命名第三列trial 3
:我该怎么办?
现在没事了:
library(vars)
data(Canada)
var.2c <- VAR(Canada, p = 2, type = "const")
pred <- predict(var.2c, n.ahead = 8, ci = 0.95)
如果我想查看 的第一个值pred
,根据predict
这里返回的方法,我必须输入
> pred$fcst$e[1]
[1] 962.6557
您可以看到我必须指定时间序列名称e
才能获得我想要的值。如果将上面的代码插入到函数中,则无法在pred$fcst$e[1]
不指定时间序列名称的情况下调用,因此无法将另一个时间序列数据帧传递给我们的自定义函数。
示例:假设X
为时间序列数据框。然后
pred.var <- function(X) {
var.2c <- VAR(X, p = 2, type = 'const')
pred <- predict(var.2c, n.ahead = 8, ci = .95)
# return(pred$fcst$...) # Here lies the issue, because function must know X column name
}
正如您从上面的示例中看到的那样,函数pred.var
必须知道X
它必须返回预测的列的名称,但除非从X
.
任何想法?
谢谢,