Есть ли простой способ программно определить, выполняется ли R script в Windows и Linux?
R: определить, работает ли script в Windows или Linux
Ответ 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"
Не стесняйтесь редактировать и добавлять в этот список.