文件错误(文件,"rt"):无法打开连接

lde*_*sis 36 csv r rt

我是R的新手,在广泛研究了这个错误之后,我仍然无法找到它的解决方案.这是代码.我检查了我的工作目录,并确保文件在正确的目录中.欣赏它.谢谢

pollutantmean <- function(directory, pollutant = "nitrate", id= 1:332)            
{                 if(grep("specdata",directory) ==1) 
            {
                    directory <- ("./specdata")
            }
            mean_polldata <- c()
            specdatafiles <- as.character(list.files(directory))
            specdatapaths <- paste(directory, specdatafiles, sep="")
                            for(i in id) 
                    {
                    curr_file <- read.csv(specdatapaths[i], header=T, sep=",")
                    head(curr_file)
                    pollutant
                    remove_na <- curr_file[!is.na(curr_file[, pollutant]), pollutant]
                    mean_polldata <- c(mean_polldata, remove_na)
                    }
            {
                    mean_results <- mean(mean_polldata)
                    return(round(mean_results, 3))
            }
} 
Run Code Online (Sandbox Code Playgroud)

我得到的错误如下:

Error in file(file, "rt") : cannot open the connection

file(file, "rt")

read.table(file = file, header = header, sep = sep, quote = quote, 
    dec = dec, fill = fill, comment.char = comment.char, ...)

read.csv(specdatapaths[i], header = T, sep = ",")

pollutantmean3("specdata", "sulfate", 1:10)

In addition: Warning message:
In file(file, "rt") :
  cannot open file './specdata001.csv': No such file or directory
Run Code Online (Sandbox Code Playgroud)

cap*_*tor 17

你需要directory <- ("./specdata")改为directory <- ("./specdata/")

相对于您当前的工作目录,您正在查找文件001.csv,它位于您的specdata目录中.

没有任何上下文,这个问题几乎不可能回答,因为你没有在这里提供你工作目录的结构.幸运的是,我已经在Coursera上进行了R编程,所以我已经完成了这个功课问题.


小智 9

将工作目录设置为更高级别/文件夹.例如,如果它已设置为:

setwd("C:/Users/Z/Desktop/Files/RStudio/Coursera/specdata")
Run Code Online (Sandbox Code Playgroud)

上升一级并将其设置为:

setwd("C:/Users/Z/Desktop/Files/RStudio/Coursera")
Run Code Online (Sandbox Code Playgroud)

换句话说,不要将"specdata"文件夹作为工作目录.


小智 8

我花了很多时间试图理解我的代码出了什么问题......

如果您使用的是Windows,这似乎很简单.

当您将文件命名为"blabla.txt"时,Windows会将其命名为"blabla.txt.txt"...这与.CSV文件相同,因此如果您将其命名为"001",则会创建一个名为"001.csv.csv"的文件.CSV"

因此,当您创建.csv文件时,只需将其重命名为"001"并在R中打开它 read.table("/absolute/path/of/directory/with/required/001.csv")

这个对我有用.


Bet*_*eng 5

我猜您看到此错误的原因是RStudio丢失了工作目录的路径。

(1)参加会议...

(2)设置工作目录...

(3)选择目录...

->然后您会看到一个窗口弹出。

->选择用于存储数据的文件夹。

这是无需任何代码即可更改工作目录的方法。希望这可以帮到你。

在此处输入图片说明