0

免责声明:我在这里很新。

我正在尝试通过教程通过 RStudio 学习 R,并且很早就遇到了一个非常令人沮丧的问题:当我尝试使用 read.table 函数时,程序始终读取我的文件(写为“~/Desktop/R/FILENAME ") 通过路径“C:/Users/Chris/Documents/Desktop/R/FILENAME”。请注意,该程序正在考虑将我的桌面文件夹通过我的文档文件夹,这会阻止我读取任何文件。我已经多次设置和重新设置我的工作目录,甚至重新下载了 R 和 RStudio,我仍然遇到这个错误。

当我输入整个文件路径而不是使用“~”快捷方式时,程序可以成功访问文件,但我不想每次需要访问文件时都输入完整的文件路径. 有谁知道如何解决这个问题?我的计算机如何查看与我的其他文件相关的桌面是否存在任何进一步的内部问题?

我附上了一张照片。这是我的显示器的外观,错误消息出现在图像的底部。

最好的,

克里斯·L。

4

2 回答 2

1

~将告诉 R 查看您的默认目录,在 Windows 中是您的 Documents 文件夹,这就是您收到此错误的原因。您可以更改 RStudio 设置或 R 配置文件中的默认目录。这仅取决于您要如何设置项目。例如:

  1. 将所有文件放在工作目录中(getwd()将告诉您项目的工作目录)。然后你可以用文件名调用文件,你会得到标签完成(太棒了!)。您可以使用 更改工作目录setwd(),但请记住不要只使用完整路径~/XX。如果您想尽量减少打字,这对您来说可能是最简单的。

  2. 如果您使用大量脚本,或者在多台计算机或跨平台上工作,上述解决方案就不是那么好。在这种情况下,您可以将所有文件保存在一个基本目录中,然后在您的脚本中使用该file.path函数来构造路径:

    base_dir <- 'C:/Desktop/R/'

    read.table(file.path(base_dir, "FILENAME"))

实际上,我将base_dirassignemnt 作为代码片段保存在 RStudio 中,因此我可以轻松地将其插入脚本并明确知道发生了什么,而不是在 RStudio 或 R 配置文件中配置它。代码片段中有一个条件可以检测平台并正确分配目录。

于 2019-03-03T06:20:05.947 回答
0

当 R 报告“无法打开连接”时,它意味着以下两种情况之一:

  1. 该文件在该位置不存在 - 您可以通过将错误消息中回显的完整路径粘贴回 Windows 文件管理器来验证该文件是否存在。有时错误就像一个额外的子目录一样简单。(这似乎是您当前代码的问题 - Windows 桌面永远不会嵌套在文档中)。

  2. 如果文件存在于该位置,则 R 无权访问该文件夹。这需要更改 Windows 文件夹权限以授予 R 对该文件夹的读写权限。

在 Windows 中,如果您从您认为是“项目工作空间主页”的文件夹中启动 RStudio,那么所有路径引用都可以使用点作为“相对于工作空间主页”,例如“./data/inputfile.csv”

于 2022-02-23T23:58:36.983 回答