R语言for循环
发布网友
发布时间:2022-04-19 09:59
我来回答
共1个回答
热心网友
时间:2023-10-24 00:23
我的建议是可能要大改整个程序:用一个list(比如叫data.list)把所有data frame或者之类的东西装起来,用的时候用data.list[[i]]来取出第i个data frame。用sqldf的时候,第一个和第三个可以用paste来写命令,第二个和第四个可能需要先用一个data frame(比如叫data)来暂时存储data.list里的一个data frame再操作sqldf。总的来说像这样(没怎么用过SQL,可能有问题):
dataold_list<-dataold.list<-datanew_list<-datanew.list<-vector("list",100)
for(i in 1:100){
dataold_list[[i]]<-sqldf(paste("select * from Dataold a,num",i," b
where a.LOAN_NO=b.LOAN_NO",sep=""))
dataold_list[[i]]<-dataold_list[[i]][,-1]
data<-dataold_list[[i]]
dataold.list[[i]]<-sqldf("select * from a,data b
where a.LOAN_NO=b.LOAN_NO")
datanew_list[[i]]<-sqldf(paste("select * from Datanew a,num",i," b
where a.LOAN_NO=b.LOAN_NO",sep=""))
datanew_list[[i]]<-dataold_list[[i]][,-1]
data<-datanew_list[[i]]
datanew.list[[i]]<-sqldf("select * from a,data b
where a.LOAN_NO=b.LOAN_NO")
}
追问确实有点复杂化了,我用txt写代码直接替换了里面所有的数字,然后再粘到R里去。。。不过还是谢谢你,感觉你很厉害 :)