问题
Is there a simple way to programmatically determine if an R script is being executed in Windows vs. Linux?
回答1:
if(.Platform$OS.type == "unix") {
} else {
}
回答2:
Sys.info()["sysname"]
回答3:
.Platform$OS.type
returns
[1] "unix"
or something else.
回答4:
I run the same code from any of three Linux or Windows machines. I use the following to set up working directories:
if(R.Version()$os == "linux-gnu"){
dir.pre <- "/home"
} else {
dir.pre <- "C:/Users"
}
On my debian linux server and my Ubuntu laptop:
> .Platform$OS.type
[1] "unix"
> R.Version()$os
[1] "linux-gnu"
On my Windows 10 laptop, in RStudio:
> .Platform$OS.type
[1] "windows"
> R.Version()$os
[1] "mingw32"
Feel free to edit and add to this list.
来源:https://stackoverflow.com/questions/2096473/r-determine-if-a-script-is-running-in-windows-or-linux