Подтвердить что ты не робот

R: определить, работает ли script в Windows или Linux

Есть ли простой способ программно определить, выполняется ли R script в Windows и Linux?

4b9b3361

Ответ 1

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

}

Ответ 2

Sys.info()["sysname"]

Ответ 3

.Platform$OS.type

возвращает

[1] "unix"

или что-то еще.

Ответ 4

Я запускаю один и тот же код с любого из трех компьютеров с 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"

Не стесняйтесь редактировать и добавлять в этот список.