【问题标题】:Whatever I do, I keep getting -> Error in file(file, "rt") [closed]无论我做什么,我都会不断收到->文件错误(文件,“rt”)[关闭]
【发布时间】:2016-07-14 12:13:24
【问题描述】:

我已经广泛研究了这个错误,并尝试了所有似乎相关的东西,虽然看起来很简单,但我似乎无法理解这个错误:-s

位置“pollutantmean.R”

> source('~/Desktop/R Projects/assigment1/pollutantmean.R')

脚本“pollutantmean.R”如下所示

pollutantmean <- function(directory, pollutant, id = 1:332){   
    filesList <- list.files(directory, full.names=TRUE)[id]  
    dat <- data.frame()  
    for (i in seq_along(id)) {    
        dat <- rbind(dat, read.csv(filesList[i]))  
    }  
    mean(dat[, pollutant], na.rm=TRUE)  }

我的工作目录是

> getwd()
[1] "/Users/nickpoels/Desktop/R Projects/assigment1"

我的工作目录包含

> dir()
[1] "pollutantmean.R"         "rprog-data-specdata.zip" "specdata" 

“specdata”包含所有 .csv 文件

现在当我调用我的函数时,这就是我不断得到的结果

> pollutantmean("specdata", "nitrate", 70:72)

Error in file(file, "rt") : cannot open the connection 
In addition: Warning message:In file(file, "rt") : cannot open file 'NA': No such file or directory

【问题讨论】:

  • 我建议您在函数的早期添加browser() 并跟踪正在发生的事情。如果没有更多的洞察力,我认为我们无能为力。
  • 一个问题 - 您使用的是什么操作系统?工作目录的路径看起来像 Windows 路径。但是文件名路径中的“~”只能在 linux 中使用。
  • 或在 Mac 上(也类似于 unix)

标签: r file path directory


【解决方案1】:

您可能只需要在pollutantmean() 中的list.files 中添加一个full.names=TRUE 参数。这样list.files 将检索整个路径,并且无论您提供相对路径还是绝对路径,它都应该有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-08
    • 2011-04-26
    • 2019-09-06
    • 2014-10-01
    • 2019-06-21
    • 1970-01-01
    • 2014-03-13
    • 1970-01-01
    相关资源
    最近更新 更多