示例:
set.seed(1)
data1 <- as.data.frame(matrix(runif(n=10, min =-0.01, max=0.01), nrow =100, ncol =5))
data2 <- as.data.frame(matrix(runif(n=10, min =-0.01, max=0.01), nrow =100, ncol =5))
data3 <- as.data.frame(matrix(runif(n=10, min =-0.01, max=0.01), nrow =100, ncol =5))
data4 <- as.data.frame(matrix(runif(n=10, min =-0.01, max=0.01), nrow =100, ncol =5))
data5 <- as.data.frame(matrix(runif(n=10, min =-0.01, max=0.01), nrow =100, ncol =5))
rolling_window_set <-c(12,36,60) #Adding 12m / 36m and 60m time periods #Improve code in this section
data_period_window <-c()
my_list <- list(data1,data2,data3,data4,data5)
for(j in 1:length(rolling_window_set)) {
for (i in 1:length(my_list)) {
data_period_window[[j]][[i]] = my_list[[i]][(nrow(my_list[[i]])-rolling_window_set[[j]]+1):nrow(my_list[[i]]), ]
}
}
我的目标是创建一个每层包含 5 个组件的列表。 [[1]][[1]],[[1]][[2]]...[[1]][[5]]....[[2]][[1]].. .[[2]][[5]]....[[3]][[1]]至[[3]][[5]]。列表 1 输出应该是 ncol = 12 的数据帧,列表 2 应该是 ncol = 36 的数据帧,列表 3 应该是 ncol = 60 的数据帧。
我收到下标越界错误。我确信这与嵌套循环结构有关,但真的不知道如何修复。