【发布时间】:2021-09-28 04:16:24
【问题描述】:
我有一个函数 ugmfit,它返回一个 xts 对象。 现在我想编写一个包含循环的函数 out_of_sample_f。在每次迭代的那个循环中 fit$est_vol_oos 给出一个具有唯一日期的 xts。我想将它们全部加在一起,以便 out_of_sample_f 可以返回所有预测中的一个 xts
如何在该循环中迭代地合并这些 xts,以便 out_of_sample_f 只返回一个 xts 对象?不知道我做的对不对?我在想,一开始就初始化 oosf 可能会出现日期问题。
out_of_sample_f <- function(rtrn, r_w, re_est_w, exog) {
oosf = xts(as.numeric(0), as.Date("2013-04-08"))
for (i in 0:(length(rtrn) - r_w)) {
if(i%%re_est_w == 0){
mv_m<-mv_into_mat(rtrn[(i + 1):(i + r_w)],exog,K=12,"monthly")
fit<-ugmfit(model="GM",skew="NO",distribution="norm",rtrn[(i + 1):(i+r_w)],mv_m,K=12, out_of_sample = re_est_w)
oosf = c(oosf, fit$est_vol_oos)
}
}
oosf <- oosf[-1,]
return(oosf)
}
fit$est_vol_oos 是特定窗口的 xts。我想遍历我的数据并连续添加我的预测。
稍后我将这个“合并”xts 用于其他东西,其中构建了这个 xts 和另一个 xts 之间的差异,但我得到两个数组不兼容的错误。
编辑:
后来我使用这个 xts 形式的 out_of_sample_f 和一个原始的返回序列作为另一个函数的输入。那里说:
*.default((tau - dummies), (realized - evaluate)) 中的错误:
不相容数组
realized 是原始返回序列,评估的是 out_of_sample_f 中的 xts。
【问题讨论】:
-
我编辑了问题
-
还不清楚。你要
Reduce("+", lst1) -
抱歉,问了很多问题。如果您创建了一个具有明确预期输出的可重现示例,我们就不必要求明确
-
好的,假设 a 是一个日期为“2021-07-19”的 xts,只有一列包含数字,b xts 的日期为“2021-07-20”,也只有一列.现在我想将 a 和 b 添加在一起,以便新的 xts 对象包含两行,即 a 和 b
-
add我猜这并不是指基于日期的文字添加 (+),对吧。如果这些对象之间有共同的日期怎么办。你是求和还是只保留第一个日期行