我有一个数据集,我想在一定条件下继续减少1。我希望所有数据集分别保存并合并到一个列表中。例如手动我可以做:
a<-mtcars[1:nrow(mtcars),]
b<-mtcars[2:nrow(mtcars),]
c<-mtcars[3:nrow(mtcars),]
d<-mtcars[4:nrow(mtcars),]
e<-mtcars[5:nrow(mtcars),]
f<-mtcars[6:nrow(mtcars),]
g<-mtcars[7:nrow(mtcars),]
h<-mtcars[8:nrow(mtcars),]
i<-mtcars[9:nrow(mtcars),]
j<-mtcars[10:nrow(mtcars),]
as.list(a,b,c,d,e,f,g,h,i,j)
让我们假设在第10行,满足某些条件,例如某个日期。我怎么能迭代地这样做?我尝试了一个for循环,但最后只有最后一个数据集作为输出,而不是每个递增较小的数据集。
两件事情:
-(1:i)
作为行索引。break()
的ifelse。例如,这里是for循环,其中条件是它将重复此循环7次:
mc<-list()
for(i in 1:nrow(mtcars)) ifelse(i==7,break(),mc[[i]]<-mtcars[-(1:i),])
你在for循环的正确道路上。如果您只是按照创建结果框架的方式获得最后一个,那就错了。
dataList = list()
for (i in seq(1, 10)){
dataList[[i]] = mtcars[i:nrow(mtcars),]
}
更改为匹配编辑