Есть ли простой способ программно определить, выполняется ли сценарий R в Windows или Linux?
R: определить, запущен ли скрипт в Windows или Linux
comment
Я немного опоздал на эту вечеринку, но рассмотрите этот поиск кода Google: google.com/ -- т. е. укажите 'as_lang=r', чтобы получать решения на основе R только при поиске строк 'linux' и 'windows'. И тут же....
- person Dirk Eddelbuettel   schedule 19.01.2010
comment
фантастический! Я не знал о поиске кода GOOG. Я изо всех сил пытался найти это, но продолжал получать несвязанные результаты.
- person JD Long   schedule 20.01.2010
Ответы (3)
.Platform$OS.type
возвращается
[1] "unix"
или что-то другое.
person
Spacedman
schedule
19.01.2010
См. также R.version() для других вещей типа ОС.
- person Spacedman; 19.01.2010
ааа.. с большой буквы. Это R. Версия ()
- person JD Long; 19.01.2010
Я запускаю один и тот же код с любого из трех компьютеров с 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"
Не стесняйтесь редактировать и добавлять в этот список.
person
mightypile
schedule
14.01.2016
person
schedule
Я не должен был тратить это время на первый комментарий. Избитый до удара снова.
- person Dan; 19.01.2010
Если бы это был полезный комментарий, я бы посочувствовал... Но это было действительно зря потраченное время! :)
- person Pekka; 19.01.2010
Спасибо! Я не мог вспомнить это, чтобы спасти свою жизнь.
- person JD Long; 19.01.2010
на самом деле это также возвращает «unix» на OSX. Я думаю, вам нужно также проверить
Sys.info()["sysname"]=='Darwin'
, чтобы отличить.
- person conjugateprior; 28.01.2013