38

是否有一种简单的方法可以以编程方式确定 R 脚本是否在 Windows 和 Linux 中执行?

4

4 回答 4

50
if(.Platform$OS.type == "unix") {
} else {

}
于 2010-01-19T19:39:59.607 回答
15
Sys.info()["sysname"]
于 2010-01-19T19:42:15.370 回答
11
.Platform$OS.type

返回

[1] "unix"

或者是其他东西。

于 2010-01-19T19:39:16.533 回答
9

我从三台 Linux 或 Windows 机器中的任何一台运行相同的代码。我使用以下设置工作目录:

if(R.Version()$os == "linux-gnu"){
  dir.pre <- "/home"
} else {
  dir.pre <- "C:/Users"
}

在我的 debian linux 服务器和我的 Ubuntu 笔记本电脑上:

> .Platform$OS.type
[1] "unix"
> R.Version()$os
[1] "linux-gnu"

在我的 Windows 10 笔记本电脑上,在 RStudio 中:

> .Platform$OS.type
[1] "windows"
> R.Version()$os
[1] "mingw32"

随意编辑并添加到此列表中。

于 2016-01-14T03:04:12.353 回答