【发布时间】:2021-10-22 13:43:46
【问题描述】:
我试图找到一些已经存在的解决方案 - 到目前为止没有成功。
问题
有一些项目,都是由一群人在R运行的,每个团队成员都使用Windows作为主要操作系统。
几乎每个脚本文件一开始都使用以下命令
setwd("Z://00-00-00/path/to/project")
这里使用的是Z://00-00-00/路径下的一些公共磁盘空间。因为我在 MAC OS 上工作,所以我的路径是 /common-drive/path/to/project 问题是:
有没有办法在某种文件中包含命令/脚本,例如~/.bashrc 或者可能是一些与R 相关的设置,这些设置会将Windows 之类的绝对文件路径转换为MAC OS 的路径-比如他们检测到的时候?
我认为应该运行的是:
path.to.be.used <- "Z://00-00-00/path/to/project"
str_replace(path.to.be.used, "Z://00-00-00/", "/common-drive/")
但是,所有脚本的路径都直接硬编码在setwd 中,因此我无法手动更改每个文件。这就是为什么我试图找出一些将这些路径转换为“静默模式”的解决方法。
有人知道怎么做吗?如果应该转换路径,有什么方法可以控制系统或 R-studio 级别?
感谢您的时间和帮助!
【问题讨论】:
-
根据您组织项目的方式,here::here() 可能有用
-
建议一般发给avoid setwd()。它只是不能让事情重现。
here包建议是一个很好的建议,或者既然您提到了 RStudio,请使用 RStudio 项目。否则不清楚你是如何运行这些脚本的,但你需要运行一些代码来改变默认的setwd()命令并注入你自己的。 -
谢谢大家!我会尝试说服他们改变项目的政策。 @MrFlick 我使用 RStudio 来运行这些脚本,所以我认为也许有某种黑客可以告诉 RStudio 在路径之间进行转换。我认为到目前为止 user2554330 是做到这一点的唯一方法,我需要记住每次在调整任何脚本之前都要重载命令。