.Platform {base}R Documentation

Platform Specific Variables


.Platform is a list with some details of the platform under which R was built. This provides means to write OS-portable R code.




A list with at least the following components:

OS.type character, giving the Operating System (family) of the computer. One of "unix" or "windows".
file.sep character, giving the file separator used on your platform: "/" on both Unix-alikes and on Windows (but not on the now abandoned port to Classic MacOS).
dynlib.ext character, giving the file name extension of dynamically loadable libraries, e.g., ".dll" on Windows and ".so" or ".sl" on Unix-alikes. (Note for MacOS X users: these are shared objects as loaded by dyn.load and not dylibs.)
GUI character, giving the type of GUI in use, or "unknown" if no GUI can be assumed.
endian character, "big" or "little", giving the endianness of the processor in use. This is relevant when it is necessary to know the order to read/write bytes of e.g. an integer or double from/to a connection: see readBin.
pkgType character, the preferred setting for options("pkgType"). Values "source", "mac.binary" and "win.binary" are currently in use.
path.sep character, giving the path separator, used on your platform, e.g., ":" on Unix-alikes and ";" on Windows. Used to separate paths in variables such as PATH and TEXINPUTS.

See Also

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.

.Machine for details of the arithmetic used, and system for invoking platform-specific system commands.


## Note: this can be done in a system-independent way by file.info()$isdir
if(.Platform$OS.type == "unix") {
   system.test <- function(...) { system(paste("test", ...)) == 0 }
   dir.exists <- function(dir) sapply(dir, function(d)system.test("-d", d))
   dir.exists(c(R.home(), "/tmp", "~", "/NO"))# > T T T F

[Package base version 2.2.1 Index]