我对 R 很陌生,并且有几个关于我正在尝试执行的循环的问题。我将尝试尽可能地解释自己,并注意我希望循环做什么。
for(i in (1988:1999,2000:2006)){
yearerrors=NULL
binding=do.call("rbind.fill",x[grep(names(x), pattern ="1988.* 4._ data=")])
cmeans=lapply(binding[,2:ncol(binding)],mean)
datcmeans=as.data.frame(cmeans)
finvec=datcmeans[1,]
kk=0
result=RMSE2(yields[(kk+1):(kk+ncol(binding))],finvec)
kk=kk+ncol(binding)
yearerrors=c(result)
}
yearerrors
首先,我希望循环遍历数据的文件名。特别是在 1988-2006 年间,在约束性声明中现在放置 1988 的地方。x 是输入到 R 中的数据文件列表,1988 是文件名的一部分。所以,我的文件名以 1988,1989,...,2006 开头。
yield 是一个数字向量,我想将向量的索引输入到函数 RMSE2 中,如循环中所示。例如,在第一次迭代中,我希望使用索引 1 到绑定中的列数。然后对于下一次迭代,我希望第一个索引比上一次迭代结束的多 1,并继续到等于下一个绑定语句中的列数的数字。我只是不知道我所写的是否能做到这一点。
最后,我希望将这些结果中的每一个存储在向量 yearerrors 中,然后再访问该向量。
提前非常感谢!