David Scott wrote:
Sharpie wrote:
Johannes W. Dietrich wrote:
There is certainly a trivial solution for my question, but I can't find the answer in the documentation.

I need a platform independent method to obtain the file path of the current R script.

My working group uses R on several machines with different operating systems including Mac OS X, Windows and Linux, and for obvious reasons the file hierarchies are very different. Therefore, it would be useful to be able to address data files and external procedures relative to the path of the script.

Thank you for any suggestion,

J. W. D.
--

The best recipie I have for dealing with this situation is:

  1. Place R scripts in a package (a very good idea anyway if you are
distributing code to others).

  2. Place a configuration file in the package that contains info such as
paths to data directories.

  3. Customize the configuration file after installing the package (if
necessary).

Then your script accesses the configuration file, which is in a known fixed
location, and uses the information inside to find other files that may be in
unknown and changing locations.

You could also place the configuration file in a location such as:

~/.MyPackageConf

Since:

  path.expand( '~/' )

Has a pretty predictable behavior across platforms.  This would save it from
being overwritten every time you updated the package.

Hope this helps!

-Charlie

I also was about to suggest putting the code in a package because then you have system.file available, which I presume works across platforms:

 > system.file("RunTests.R",package="DistributionUtils")
[1] "/usr/local/david/R/DistributionUtils"
 > system.file("unitTests/runTests.R",package="DistributionUtils")
[1] "/usr/local/david/R/DistributionUtils/unitTests/runTests.R"


Sorry, I copied that incorrectly. Should be:

> system.file(package="DistributionUtils")
[1] "/usr/local/david/R/DistributionUtils"
> system.file("unitTests/runTests.R",package="DistributionUtils")
[1] "/usr/local/david/R/DistributionUtils/unitTests/runTests.R"

David Scott
_________________________________________________________________
David Scott     Department of Statistics
                The University of Auckland, PB 92019
                Auckland 1142,    NEW ZEALAND
Phone: +64 9 923 5055, or +64 9 373 7599 ext 85055
Email:  d.sc...@auckland.ac.nz,  Fax: +64 9 373 7018

Director of Consulting, Department of Statistics

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to