[R] how can I write code to detect whether the machine is Windows or Linux?

Marc Schwartz
Wed, 23 Jul 2008 22:13:01 -0000

on 07/23/2008 04:53 PM Philip James Smith wrote:
> Hi R-People:
>
> I use 2 machines: a machine with a Windows XP operating system, and
> another with a Linux Ubuntu OS. I transport my code between these 2
> machines. However, pathnames to data files always need to be
"adjusted"
> to account for the OS that I'm working on.
>
> Here is my question:
>
> How do I write code to detect whether I'm using the XP or the Linux
> machine?
>
> If I knew this, I could write my code in a way so that I didn't have to
> adjust path names to data file all the time.
>
> I checked the archives... didn't find anything, but perhaps didn't
know
> the right search terms...
>
> Thanks for your help, R-community! Please respond to:
> philipsmith at alumni.albany.edu

See ?.Platform

For example:

 > .Platform$OS
[1] "unix"

It's always dangerous to say always, but "in general", the use of:

   Path/To/File

with *forward* slashes, will work on both Windows and Linux, including
the use of relative paths.

See:

http://cran.r-project.org/doc/FAQ/R-FAQ.html#How-do-file-names-work-in-Windows_003f

and

http://cran.r-project.org/bin/windows/base/rw-FAQ.html#R-can_0027t-find-my-file

for some hints.

HTH,

Marc Schwartz