r语言循环只输出最后一个

Python018

r语言循环只输出最后一个,第1张

首先有个概念,循环中的变量是i,每次循环之后都会更新i的值,直到循环结束。循环中i的取值范围在1:5。

循环中,每次循环都打印出i的结果。

循环结束后,i不再更新,打印i输出的就是i最后一次的取值,并且一直都是这个值,除非你再次给i赋值。

第二个问题,我不知到是不是这个意思,你需要保存每一步循环中得到的结果,最后在循环结束之后全部把它们输出出来。

我就按我理解的这个意思写一下。

t<-array()

for(i in 1:5) t[i]<-i

a<-list(t)a

希望对你有帮助。

你好!

#y是x的拷贝

y

<-

x

#取得x的行数

l

<-

dim(x)[1]

#遍历每一行,如果该行最大值小于10,则从y中去除

for(

i

in

1

:

l)

{

if(

max(y[i,])

<

10)

y

<-

y[-i,]

}

如有疑问,请追问。

我的建议是可能要大改整个程序:用一个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")

}