【发布时间】:2016-01-14 01:51:58
【问题描述】:
我正在寻找一个 R 函数来返回正在运行脚本的计算机的标识符,或者至少可以区分两台已知计算机中的一台。
我有两台 PC,都运行 Windows 和 RStudio。我在办公室使用台式机,通过 VPN 使用笔记本电脑,通常在同一个项目上工作,总是使用 RStudio。
我的脚本和永久数据集位于一个公共存储库中。但是,由于该存储库的 I/O 速度很慢,因此我为临时文件保留了一个本地目录。
在桌面上,我有一个专用驱动器,每个项目都位于其文件夹 'D:/workspace/this_project/' 中。在笔记本电脑上,路径是 'C:/Users/myself/Documents/workspace/this_project/' 或只是 '~/workspace/this_project/'。
目前,我在每个脚本的顶部保留两个 setwd() 语句,我只是依赖于其中一个会因为文件结构而失败的事实。
setwd('~/workspace/this_project') # will fail on the desktop
setwd('D:/workspace/this_project') # will fail on the laptop
这似乎是一种不好的做法。
我查看了?"environment variables",但不知道如何在网络上获取我的计算机名称或其他持久且唯一的计算机名称。
所需的解决方案可以将笔记本电脑的波浪号扩展修改为笔记本电脑上的D:/,以便可以使用通用的“~/workspace/”,或者像这样的函数using_laptop():
set_project_wd <- function(folder_nm){
if(using_laptop()) setwd(paste0('~/workspace/',folder_nm))
else setwd(paste0('D:/workspace/',folder_nm))
}
【问题讨论】: