在R中使用循环将文件保存为CSV
我有一组代码,我想在多个文件上运行来实现这一点,我使用了以下循环在R中使用循环将文件保存为CSV,r,loops,csv,saving-data,R,Loops,Csv,Saving Data,我有一组代码,我想在多个文件上运行来实现这一点,我使用了以下循环 setwd("~/folderofinterest") cluster <- list.files(pattern = "*.csv$") for(i in 1:length(cluster)){ 我没有将文件保存到“完成”文件夹中,而是出现以下错误: if(file==“”)文件出错为什么所有这些setwd?另外,什么是countedclusters?我猜您的list.files()返回NA,也就是说,它是空的。我在一个
setwd("~/folderofinterest")
cluster <- list.files(pattern = "*.csv$")
for(i in 1:length(cluster)){
我没有将文件保存到“完成”文件夹中,而是出现以下错误:
if(file==“”)文件出错为什么所有这些
setwd
?另外,什么是countedclusters
?我猜您的list.files()
返回NA
,也就是说,它是空的。我在一个文件夹中测试了您的list.files,其中包含一些.csv文件,它工作正常。但是,考虑到上面的代码,我无法测试更多其他内容。确保引用的文件夹中有.csv文件。@Fernando我使用setwd获取并保存位于不同位置(服务器的不同文件夹/位置)的数据集countedclusters是一个新的数据集,它是从循环中从不同的群集文件提取的数据创建的,(我没有添加该代码,因为它正在工作)。我希望这会让senseI认为您的问题是,您有一个for循环,使用I
作为嵌套在for循环中的索引,也使用I
作为索引。在内部循环之后,I
将是100和cluster[100]
不存在,因此它将返回NA
。请为内部for
循环使用不同的索引变量。建议以拼写错误结束问题。
setwd("~/folderofinterest/done")
write.csv (countedclusters, file=cluster[i], quote = FALSE, row.names = FALSE)
setwd("~/Desktop/cluster/")
}
setwd("~/Desktop/folderofinterest/")
cluster <- list.files(pattern = "*.csv$")
for(i in 1:length(cluster)){
DS1 <- read.csv(file = cluster[i], header = TRUE, stringsAsFactors = TRUE)
X=1
Y=2
for(i in 1:100){
Y=X+Y
}
DS1$newcolumn<-Y
countedclusters<-DS1
setwd("~/Desktop/folderofinterest/done")
write.csv (countedclusters, file=cluster[i], quote = FALSE, row.names = FALSE)
setwd("~/Desktop/folderofinterest/")
}