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

Jen*_*ary 1 for-loop r

我正在尝试按列 Customer.Code 拆分 csv 文件并将生成的数据帧写入单独的 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)
}
}
Run Code Online (Sandbox Code Playgroud)

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

提前致谢

Hav*_*v0k 5

你定义:

x<- length(data)
Run Code Online (Sandbox Code Playgroud)

它给你一个整数。但是,在您的 for 循环中,您不想遍历单个整数,而是遍历从1:x. 因此更改for(i in x)for (i in 1:x)