Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
DF中多变量单变量滚动窗口的R环_R_Time Series_Regression_Zoo_Rolling Computation - Fatal编程技术网

DF中多变量单变量滚动窗口的R环

DF中多变量单变量滚动窗口的R环,r,time-series,regression,zoo,rolling-computation,R,Time Series,Regression,Zoo,Rolling Computation,我相信这是显而易见的,但我是一个乞丐在R,我花了一上午的大部分时间试图解决这个问题 因此,我有一个由3410个观测值组成的24个时间序列的DF。我想创建一个循环来处理滚动窗口回归。我想在滚动窗口中对依赖变量DF[,1]上的所有独立变量DF[,2:24]进行回归,并及时提取R2的演化 我尝试了以下代码,但不起作用: resultsList <- list() for (i in 1:ncol(var)) { lmfit <- roll_regres(var[,1]~var[,i]

我相信这是显而易见的,但我是一个乞丐在R,我花了一上午的大部分时间试图解决这个问题

因此,我有一个由3410个观测值组成的24个时间序列的DF。我想创建一个循环来处理滚动窗口回归。我想在滚动窗口中对依赖变量DF[,1]上的所有独立变量DF[,2:24]进行回归,并及时提取R2的演化

我尝试了以下代码,但不起作用:

resultsList <- list()

for (i in 1:ncol(var)) {
  lmfit <- roll_regres(var[,1]~var[,i], var, 126, do_compute = c("sigmas", "r.squareds"))
  resultsList[[i]] <- summary(lmfit)
}
我还使用rollapply尝试了以下代码,但也不起作用:

resultsList <- list()

for (i in 1:ncol(var)) {
  lmfit <- rollapply(var, width = 126, FUN = function(x) lm(var[, i] ~ var[,1]), by =1, align = "left")
  resultsList[[i]] <- summary(lmfit)
}
如果有人能帮我做这件事,我将不胜感激


提前感谢您提供的任何帮助。

我解决了问题;代码如下:

#Loop RW 6 months
resultsList6M <- list()

for (i in 1:ncol(var)) {
  lmfit <- roll_regres(var[,i]~cu, var, 126,do_compute = c("r.squareds"))
  resultsList6M[[i]] <- lmfit["r.squareds"]
}

RS16m <- ts(as.numeric(as.character(unlist(resultsList6M[[1]]["r.squareds"]))),start = c(2007, 5), frequency = 252)
ts_plot(RS16m,
        title = "126 Days RW, CADUSD ~ EURUSD ",
        Xtitle = "Time",
        Ytitle = "RSQUARED",
        width = 1)

#循环RW 6个月
结果列表6M
Error in zoo(rval, index(x)[i]) : 
  “x” : attempt to define invalid zoo object
#Loop RW 6 months
resultsList6M <- list()

for (i in 1:ncol(var)) {
  lmfit <- roll_regres(var[,i]~cu, var, 126,do_compute = c("r.squareds"))
  resultsList6M[[i]] <- lmfit["r.squareds"]
}

RS16m <- ts(as.numeric(as.character(unlist(resultsList6M[[1]]["r.squareds"]))),start = c(2007, 5), frequency = 252)
ts_plot(RS16m,
        title = "126 Days RW, CADUSD ~ EURUSD ",
        Xtitle = "Time",
        Ytitle = "RSQUARED",
        width = 1)