要求在 R Studio 中设置工作目录 - 多个用户使用相同的 R 脚本

Ask to set the working directory in R Studio - multiple users working with the same R script

我们三个人使用相同的 R 脚本在 R Studio 中开展我们的研究项目。这通过设置 工作目录 带来了一些问题,因为文件和数据表本地保存在每个人的 Dropbox 文件夹中。因此,我们使用相同的脚本和相同的数据,但在我的例子中,工作目录的路径类似于 'C:/Users/thoma/Dropbox/...'。

我可以在我们的代码开头通过 setwd("directory") 设置 wd,但这只对我有用。

我的问题:是否有命令询问我在哪里设置我的wd,每个用户都可以设置自己的工作目录,如askforwd()

每个文件夹中的数据都是同步的,因此这是每次不同用户时唯一需要更改的路径是 运行 代码。

感谢您的帮助!

这是我们的代码示例:

setwd("C:/Users/thoma/Dropbox/") #sets the directory

Datensatz <- read_excel("Datensatz.xlsx") #reads the synced data in the folder

与其让用户设置目录,不如将它们全部构建到脚本中并检查哪个用户正在使用该脚本。

Paths = c("C://user/Fred/", "C://user/Wilma", "C://Some/other/path")
names(Paths) = c("Fred", "Wilma", "Guest")
setwd(Paths[Sys.info()[7]])

当然,Sys.info()[7] 给出当前登录的用户。

Dropbox 提供了一个json 文件,可用于设置目录

library(magrittr)
library(jsonlite)

DropboxInfo <- 
  if (Sys.getenv("OS") == "Windows_NT") {
    file.path(Sys.getenv("LOCALAPPDATA"), "Dropbox", "info.json")
  } else {
    "~/.dropbox/info.json"
  }

Path2Dropbox <- 
  jsonlite::fromJSON(DropboxInfo) %>%
  use_series("business") %>%  # or 'personal' if applicable
  use_series("path")

Datensatz <- read_excel(file.path(Path2Dropbox, "Datensatz.xlsx"))