我对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
答案 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
}