gpt4 book ai didi

r - 检测我在哪台计算机上运行 R 脚本

转载 作者:行者123 更新时间:2023-12-04 14:26:01 24 4
gpt4 key购买 nike

我正在寻找一个 R 函数来返回正在运行脚本的计算机的标识符,或者至少可以区分两台已知计算机中的一台。

我有两台电脑,都运行 Windows 和 RStudio。我在办公室使用台式机,通过 VPN 使用笔记本电脑,通常在同一个项目上工作,总是使用 RStudio。

我的脚本和永久数据集位于公共(public)存储库中。但是,由于该存储库的 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))
}

最佳答案

如果您调用Sys.info()你可以得到你的详细信息:

names(Sys.info())
[1] "sysname" "release" "version" "nodename" "machine" "login"
[7] "user" "effective_user"
nodename 下的条目将是您的电脑名称。

然后您可以执行以下操作:
set_project_wd <- function(folder_nm){
if(Sys.info()[[4]]=="mylaptopname") setwd(paste0('~/workspace/',folder_nm))
else setwd(paste0('D:/workspace/',folder_nm))
}

关于r - 检测我在哪台计算机上运行 R 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33151355/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com