.Platform {base} | R Documentation |
.Platform
is a list with some details of the platform under
which R was built. This provides means to write OS-portable R
code.
.Platform
A list with at least the following components:
OS.type |
character string, giving the Operating System
(family) of the computer. One of |
file.sep |
character string, giving the file separator used on your
platform: |
dynlib.ext |
character string, giving the file name extension of
dynamically loadable libraries, e.g., |
GUI |
character string, giving the type of GUI in use, or |
endian |
character string, |
pkgType |
character string, the preferred setting for
This should not be used to identify the OS. |
path.sep |
character string, giving the path separator,
used on your platform, e.g., |
r_arch |
character string, possibly |
.Platform$GUI
is set to "AQUA"
under the macOS GUI,
R.app
. This has a number of consequences:
‘/usr/local/bin’ is appended to the PATH environment variable.
the default graphics device is set to quartz
.
selects native (rather than Tk) widgets for the graphics
= TRUE
options of menu
and select.list
.
HTML help is displayed in the internal browser.
the spreadsheet-like data editor/viewer uses a Quartz version rather than the X11 one.
R.version
and Sys.info
give more details
about the OS. In particular, R.version$platform
is the
canonical name of the platform under which R was compiled.
osVersion
may give more details about the platform R is running on.
.Machine
for details of the arithmetic used, and
system
for invoking platform-specific system commands.
capabilities
and extSoftVersion
(and links
there) for availability of capabilities partly external to R
but used from R functions.
## Note: this can be done in a system-independent way by dir.exists()
if(.Platform$OS.type == "unix") {
system.test <- function(...) system(paste("test", ...)) == 0L
dir.exists2 <- function(dir)
sapply(dir, function(d) system.test("-d", d))
dir.exists2(c(R.home(), "/tmp", "~", "/NO")) # > T T T F
}