【问题标题】:Why is RStudio telling me that my file doesn't exist? I'm looking directly at it为什么 RStudio 告诉我我的文件不存在?我直接看
【发布时间】:2021-01-15 19:19:14
【问题描述】:

我在 RStudio,只想读取一个 csv 文件:

newdata <- read_csv("Nameofdata.csv",
       col_names = TRUE)

但它一直告诉我该文件不存在。它确实存在。我直接盯着它,在 RStudio 坚持错误的文件路径下面。我可以在另一个选项卡中打开它,我可以在 excel 中打开它,这正是 RStudio 说它不存在的地方。请帮忙。

【问题讨论】:

  • 你使用的是绝对路径还是相对路径?如果您的代码 sn -p 正确,请确保您要读取的文件在当前工作目录中。 (见 eipi10 的评论。)
  • 在控制台中运行getwd()。那是您的 R 会话当前指向的文件夹。是那个文件所在的文件夹吗?
  • 请显示您的完整代码,即您正在加载的库。 read_sav 不是来自基础 R。另外,getwd() 告诉你什么?它会给你文件存储的文件夹吗?
  • list.files() 是否返回文件名?
  • .csv 前面好像多了一个空格。如果文件名是使用paste 函数从数据构建的,那么这是一个常见问题(而不是使用paste0 或将sep 设置为""(空字符串))

标签: r


【解决方案1】:

仔细查看您的屏幕截图非常,评论者建议您在文件名的开头有一个额外的空格。

另外,我发现工作目录似乎是正确的(错误消息将其列为C:/users/mdavi/Desktop/School/Research/Sc,这似乎与“文件”窗格中列出的内容相匹配

解决文件定位问题的几种策略:

  • 使用getwd()list.files() 来确认您的工作目录以及R 可以从那里看到的文件(您可以阅读this introduction 以了解有关工作目录的更多背景信息):
  • 使用file.choose()以交互方式选择文件;在生产代码中使用它通常不是一个好主意,因为当您通常希望能够在不需要手动步骤的情况下从头到尾运行所有代码时,它会添加一个交互式步骤,但它对于调试非常有用。

如果您希望 R 列出 大约 与您指定的文件名匹配的文件,您可以使用

L <- list.files(pattern="*.csv")
agrep("myfile.csv", L, value=TRUE)

您需要通过 R 控制台中的setwd("~/Desktop/School/Research/SC") 正确设置您的直接工作(这就是我认为我在您的屏幕截图中看到的内容:~ 代表您的主目录,即“用户/谁”)或通过 RStudio 菜单中的Session &gt; Set Working Directory &gt; To File Pane

您可以阅读variety of Stack Overflow questions about setting the working directory 以获得更完整的上下文...在“R '工作目录'”上进行网络搜索也可能会有所帮助。


【讨论】:

    猜你喜欢
    • 2017-01-16
    • 1970-01-01
    • 2012-05-23
    • 1970-01-01
    • 2019-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多