从 WIndows 到 MACOS 的全局路径转换(R 语言示例)
Global paths conversions from WIndows to MACOS (R language example)
我试图找到一些已经存在的解决方案 - 到目前为止没有成功。
问题
有一些项目,全部 运行 在 R
中,由一群人完成,其中每个团队成员都使用 Windows 作为主要操作系统。
几乎每个脚本文件的开头都会使用下面的命令
setwd("Z://00-00-00/path/to/project")
这里用到的是路径Z://00-00-00/
下的一些普通光盘space。由于我在 MAC OS 上工作,我的路径是 /common-drive/path/to/project
问题是:
有没有办法将 command/script 包含在某种文件中,例如 ~/.bashrc
或者某些 R
相关的设置,这些设置将转换为 Windows
-like absolute文件路径到 MAC OS
-like 他们检测到的路径?
我认为运行应该是:
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 级别上进行控制?
感谢您的宝贵时间和帮助!
正如评论中其他人所说,您应该说服您的同事不要那样做。然而,这通常很困难,所以这里有一个 hack 解决方案(@MrFlick 提到):
setwd <- function(dir) {
newdir <- sub("Z://00-00-00/", "/common-drive/", dir)
cat("Requested ", dir, ", using ", newdir, "\n")
base::setwd(newdir)
}
我试图找到一些已经存在的解决方案 - 到目前为止没有成功。
问题
有一些项目,全部 运行 在 R
中,由一群人完成,其中每个团队成员都使用 Windows 作为主要操作系统。
几乎每个脚本文件的开头都会使用下面的命令
setwd("Z://00-00-00/path/to/project")
这里用到的是路径Z://00-00-00/
下的一些普通光盘space。由于我在 MAC OS 上工作,我的路径是 /common-drive/path/to/project
问题是:
有没有办法将 command/script 包含在某种文件中,例如 ~/.bashrc
或者某些 R
相关的设置,这些设置将转换为 Windows
-like absolute文件路径到 MAC OS
-like 他们检测到的路径?
我认为运行应该是:
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 级别上进行控制?
感谢您的宝贵时间和帮助!
正如评论中其他人所说,您应该说服您的同事不要那样做。然而,这通常很困难,所以这里有一个 hack 解决方案(@MrFlick 提到):
setwd <- function(dir) {
newdir <- sub("Z://00-00-00/", "/common-drive/", dir)
cat("Requested ", dir, ", using ", newdir, "\n")
base::setwd(newdir)
}