我正在创建一系列可供多人使用的 r 脚本,这意味着使用和存储的文件的工作目录会有所不同。有两个文件夹,一个用于 R 代码,称为“rcode”,另一个用于存储生成的输出,称为“data”。这两个文件夹将始终串联共享。为了适应不断变化的工作目录,我创建了一个“全局”脚本,该脚本具有以下代码行并位于“rcode”文件夹中:
source_path = rstudioapi::getActiveDocumentContext()$path
setwd(dirname(source_path))
swd_data <- paste0("..\\data\\")
第一行获取全局脚本的源路径。第二行使它成为工作目录。第三行本质上告诉脚本将输出存储在“data”文件夹中,该文件夹与“rcode”文件夹具有相同的路径。因此,要读取我写的“数据”文件夹中的 csv 文件:
old_total_demand <- read.csv(paste0(swd_data, "boerne_total_demand.csv"))
当我在我的 Windows 笔记本电脑上使用这个脚本时,它运行良好,但是当我在我的 Mac 上使用它时,我收到以下错误:
Error in file(file, "rt") : cannot open the connection In addition: Warning message: In file(file, "rt") : cannot open file '..\data\demand\boerne_total_demand.csv': No such file or directory
有人知道为什么会这样吗?在此先感谢您的帮助。