我在 Windows 7 上运行 rStudio v3.1.2。这台笔记本电脑是 64 位机器。
我正在参加 Coursera 提供的 JHU R 编程课程,但我遇到了问题的第 1 部分中收到的错误。我有一些错误处理功能,我没有在这个例子中使用,所以我真的只是想展示我绝对需要的东西。我包含这些消息的唯一原因是证明必须满足所有条件才能继续。
pollutantmean <- function(directory, pollutant, id=1:332) {
setwd("C:\\Users\\WR-eSUB\\specdata")
if(!isValidDirectory(directory)) {
stop("Invalid input given. Please specify valid directory to operate on.")
}
if(!isValidPollutant(pollutant)) {
stop("Invalid input given. Please specify valid pollutant (nitrate/sulfate).")
}
if(!isValidIdRange(id)) {
stop("Invalid input given. Please specify valid id range (1:332).")
}
sortedData = numeric()
for (i in id) {
thisFileName = paste(formatC(i, width = 3, flag = "0"), ".csv", sep="")
thisFileRead = read.csv(directory, thisFileName)
sortedData = c(sortedData, thisFileRead[[pollutant]])
}
mean(sortedData, na.rm = TRUE)
}
请注意,在 WR-eSUB 内有一个名为 specdata 的文件夹,在该文件夹内有一个包含 .csv 文件的目录,也称为 specdata。我可以改变这一点,但到目前为止,我一直在使用它,并且没有遇到任何问题。
当我打电话时,pollutantmean("specdata", "nitrate", 1:2)
我收到以下错误消息:
Error in file(file, "rt") : cannot open the connection
In addition: Warning message: In file(file, "rt") : cannot open file 'specdata': Permission denied
现在,在我无数次尝试完成这部分作业的过程中,我已经能够使用 lapply 等其他方式提取数据,但因为我一直卡住,所以我把所有东西都扔掉了,想以这种方式尝试。
我已经在网上搜索以尝试找到此解决方案。尽管有几个已回答的查询,但似乎没有一个像这个一样令人困惑。WR-eSUB 是一个管理文件夹,但之前在其中打开文件的尝试没有产生此错误。