R:无法打开文件' specdata / 001.csv':没有这样的文件或目录

时间:2015-07-14 15:36:43

标签: r function error-handling

我对R很陌生,在广泛研究了这个错误之后,我仍然无法找到解决方案。我在R中创建的函数是用332 .csv文件确定目录中的完整案例。

complete <- function(directory, id = 1:332) {
  s <- vector()
  for (i in 1:length(id)) {
    path <- c(paste(directory, "/",formatC(id[i], width=3, flag=0),".csv",sep=""))   
    data <- c(read.csv(path)) 
    s[i] <- sum(complete.cases(data))
  } 
  dat <- data.frame(cbind(id,nobs=s))   
  return(dat)
}

当我想测试该功能时,通过提供以下命令(specdata是存储.csv文件的目录)

complete("specdata", 1)

我一直收到以下错误:

Error in file(file, "rt") : cannot open the connection
In addition: Warning message:
In file(file, "rt") :
  cannot open file 'specdata/001.csv': No such file or directory
  • 我已经检查了我的工作目录
  • 我检查了目录中的文件 但我无法发现任何问题。

1 个答案:

答案 0 :(得分:0)

这是因为您的工作目录未设置为包含文件的位置。它也发生在我身上。我通过硬编码函数中目录的位置来解决这个问题。

complete<-function(directory,id=1:332)
{
  directory=file.path(getwd())
  observations=0
  counts = c()
  for(i in id)
  {
    name=sprintf("%03d.csv", i)
    data<-read.csv(name, sep="",header= T,na.strings=c("NA","NAN",""))
    data=na.omit(data)
    counts=append(counts, nrow(data))
  }


  df <- data.frame(id=id, nobs=counts)
  df
}