我有一个数据矩阵:
x=matrix(rnorm(100))
这是一个单列的简单示例,但假设可以有N个不同的列。我的目标是获取最新的X天数据。这里X可以是向量或单个数字。例如,如果我想获得最新的c(10,20,30,40)
,这意味着我想要最近10,20,30,40天的数据。
我当前的代码是通过循环执行的:
l = c(10,20,30,40)
mn.list<-list()
x=coredata(x)
for(j in 1:length(l)){
hist1<-coredata(x[(nrow(x)-l[j]):(nrow(x)-1),]) #subset data
if(is.null(dim(hist1))) dim(hist1) = c(len(hist1), 1)
mn.list[[j]]<-hist1
}
基本上,我循环遍历每个回顾,而不是获取子集,然后将其存储到列表中,这是我需要的东西,然后才能对其进行其他数据操作。
所以我的问题是,是否有更好的效率/优雅或多核方式来加快速度。