R for循环仅完成第一次迭代

时间:2015-06-18 14:01:34

标签: r for-loop

我正在尝试按列Customer.Code拆分csv文件,并将生成的Dataframes写入单独的csv文件。

splittit<- function(file){

data<-read.csv(file)

data<-split(data,data$Client.Code)

x<- length(data)

for(i in x){
  custdata<- data[i] 
  custdata<- as.data.frame(custdata)
  customer<- custdata[1,18]
  customer<- as.vector(customer)
  filename<- paste(as.character(customer),".csv")
  write.csv(custdata, file= filename)
}
}

如果有人能帮我解释为什么只写第一个csv文件,我将非常感激。

由于 提前

1 个答案:

答案 0 :(得分:4)

你定义了:

x<- length(data)

给你一个整数。但是,在for循环中,您不想迭代单个整数,而是在1:x的整个范围内。因此,将for(i in x)更改为for (i in 1:x)