R 从循环输出数据时遇到错误

R 从循环输出数据时遇到错误,r,R,我有一个循环的代码,似乎大部分都能工作,但是当我试图将结果输出到csv文件时,我得到了以下错误,文件中的错误(file,ifelse(append,“a”,“w”)):无效的“open”参数 我已经为一个循环编写了代码(以前已经工作过),该循环从文件夹中获取一个数据集,执行计算并将这些计算放在新列中,然后将带有新列的数据集输出到另一个文件夹中。但是,R在尝试将输出放入循环末尾的新文件夹时遇到问题,导致以下错误:文件中的错误(file,ifelse(append,“a”,“w”)):无效的“ope

我有一个循环的代码,似乎大部分都能工作,但是当我试图将结果输出到csv文件时,我得到了以下错误,文件中的错误(file,ifelse(append,“a”,“w”)):无效的“open”参数

我已经为一个循环编写了代码(以前已经工作过),该循环从文件夹中获取一个数据集,执行计算并将这些计算放在新列中,然后将带有新列的数据集输出到另一个文件夹中。但是,R在尝试将输出放入循环末尾的新文件夹时遇到问题,导致以下错误:文件中的错误(file,ifelse(append,“a”,“w”)):无效的“open”参数

setwd("/Users/Desktop/Snail/CSVs/CSV 2")


files = list.files()

summary = NULL

for (f in files) {
  data = read.csv(f, sep = ',',header=T)
  data2<-prepData(data,type="UTM",coordNames=c("x","y"))
  sub = cbind(f,data2)
  summary = rbind(summary,sub)
  myfile = file.path("/Users/Desktop/CSV 3",".csv")
  write.table(summary[[f]], file=myfile , paste(names(summary)[f],".csv",sep=","))
}
setwd(“/Users/Desktop/Snail/CSVs/csv2”)
files=list.files()
summary=NULL
用于(文件中的f){
data=read.csv(f,sep=',,header=T)

data2您对
write.table
的调用将我认为应该是您的文件名的内容显式传递到
append=
参数中。请尝试以下操作:

for(文件中的f){
data=read.csv(f,sep=',,header=T)

data2您对
write.table
的调用将我认为应该是您的文件名的内容显式传递到
append=
参数中。请尝试以下操作:

for(文件中的f){
data=read.csv(f,sep=',,header=T)

数据2为什么要分配
file=myfile
然后明显地分配另一个文件名为
粘贴(名称(摘要)
?这是
write.table
的第三个参数,它是
append=
查找逻辑参数。我尝试将其重写为write.table(摘要[[f]],file>=“/Users/carlcloyed/Desktop/CSV 3”,粘贴(名称(摘要)[f]),”.CSV“,“.CSV”,sep=“,”),但在write.table(摘要[[f]],文件=“/Users/carlcloyed/Desktop/CSV 3”中出错“,:无效的'quote'规范您没有领会我的意思。您正在尝试向函数传递两个不同的文件名!第二个文件名正被传递到
write.table
append=
参数中,这将导致您的错误。请尝试
write.table(摘要[[f]],file=myfile)
。使用myfile时,我试图设置文件的路径,然后尝试使用paste(名称(摘要)[f]在write.table中指定文件名,我重写了myfile=file.path(“/Users/Desktop/CSV3”,paste(名称(摘要)[f],“.csv”)),现在在match.names(clab,names(xi))中出现错误:名称与以前的名称不匹配我非常感谢您的帮助!计算机科学中最难的两件事:命名变量和缓存无效。我建议您使用
myfile
作为目录名称是违反第一个名称的一个很好的例子。为什么您要分配
file=myfile
,然后显然分配另一个文件名是
paste(names(summary)…
?这是
write.table
的第三个参数,它是
append=
寻找一个逻辑参数。我试着将它重写为write.table(summary[[f]],file=“/Users/carlcloyed/Desktop/CSV 3”,paste(names(summary)[f]),“.CSV”,“.CSV”,“sep=”)但write.table(摘要[[f]],file=“/Users/carlcloyed/Desktop/CSV 3”中出现错误,:无效的“quote”规范您没有领会我的意思。您正在尝试向函数传递两个不同的文件名!第二个文件名正在传递到
write.table
append=
参数中,这将导致您的错误。请尝试
write.table(摘要[[f]],file=myfile)
。使用myfile时,我试图设置文件的路径,然后尝试使用paste(名称(摘要)[f]在write.table中指定文件名,我重写了myfile=file.path(“/Users/Desktop/CSV3”,paste(名称(摘要)[f],“.csv”)),现在在match.names(clab,names(xi))中出现错误:名称与以前的名称不匹配我非常感谢您的帮助!计算机科学中最难的两件事:命名变量和缓存无效。我建议您使用
myfile
作为目录名称,这是违反第一个名称的一个很好的例子。哦,太好了,谢谢您的时间和帮助!我继续做了,但现在做了在match.names(clab,names(xi))中获取新错误:名称与以前的名称不匹配来自
match.names
的新错误很可能是Rana的重复,这是否回答了您的问题?如果不是,请提供更多上下文/详细信息。(如果是,请接受:-)哦,太好了,谢谢你的时间和帮助!我继续了,但现在在match中出现了一个新的错误。名称(clab,names(xi)):名称与以前的名称不匹配来自
匹配的新错误。名称
很可能是Rana的重复,这是否回答了你的问题?如果没有,请提供更多上下文/详细信息。(如果是,请接受:-)