我是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")
这个对我有用.
我猜您看到此错误的原因是RStudio丢失了工作目录的路径。
(1)参加会议...
(2)设置工作目录...
(3)选择目录...
->然后您会看到一个窗口弹出。
->选择用于存储数据的文件夹。
这是无需任何代码即可更改工作目录的方法。希望这可以帮到你。