.Platform package:base R Documentation _P_l_a_t_f_o_r_m _S_p_e_c_i_f_i_c _V_a_r_i_a_b_l_e_s _D_e_s_c_r_i_p_t_i_o_n: '.Platform' is a list with some details of the platform under which R was built. This provides means to write OS-portable R code. _U_s_a_g_e: .Platform _V_a_l_u_e: A list with at least the following components: OS.type: character, giving the *O*perating *S*ystem (family) of the computer. One of '"unix"' or '"windows"'. file.sep: character, giving the *file* *sep*arator 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 *ext*ension of *dyn*amically loadable *lib*raries, 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* *sep*arator, used on your platform, e.g., '":"' on Unix-alikes and '";"' on Windows. Used to separate paths in variables such as 'PATH' and 'TEXINPUTS'. _S_e_e _A_l_s_o: '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. _E_x_a_m_p_l_e_s: ## 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 }