[R] relative referencing for filenames &etc

Prof Brian Ripley ripley at stats.ox.ac.uk
Tue Feb 28 19:06:36 CET 2006


On Tue, 28 Feb 2006, Greg Tarpinian wrote:

> Thank you both for your helpful suggestions.  My ignorance of R prevents me
> from understanding exactly how to
>
>   "...run from a shortcut, appending DATADIR=J:/foo/bar to the
>    command line"

See the rw-FAQ for more details.

> but I assume that Appendix C of "S Programming" will help me there -- I was
> unaware of this material when I posted my question.  I was able to success-
> fully use the following:
>
>   > Sys.putenv("R_DATADIR"="Z:/.../raw")
>   > Sys.getenv("R_DATADIR")
>      R_DATADIR
>   "Z:/.../raw"
>   > file.path(Sys.getenv("R_DATADIR"), "RAWDATA.xls")
>   [1] "Z:/.../raw/RAWDATA.xls"
>
> Using this type of code, I should be able to "point" R at data and output
> directories.  In my industry, programmers are required to save their SAS
> log files for auditing purposes, and knowing that R has similar capabilities
> is very helpful.
>
> Again, thanks for your help.  Kind regards,
>
>
>     Greg
>
>
>
>
> --- Prof Brian Ripley <ripley at stats.ox.ac.uk> wrote:
>
>> On Tue, 28 Feb 2006, Uwe Ligges wrote:
>>
>>>
>>>
>>> On Mon, 27 Feb 2006, Greg Tarpinian wrote:
>>>
>>>> BACKGROUND:
>>>> I use SAS on a daily basis and one of its most powerful features in a
>>>> production environment is the use of LIBNAME and FILEREF statements, e.g.:
>>>>
>>>>
>>>> PROC PRINTTO LOG = "&LOGDIR.\data processing.log" NEW;
>>>> RUN;
>>>> PROC IMPORT
>>>> 	DATAFILE= "&DATADIR.\blah.xls"
>>>> 	OUT = TEMP
>>>> 	DBMS = EXCEL REPLACE;
>>>>     SHEET = "Sheet1";
>>>>     GETNAMES = YES;
>>>> RUN;
>>>>
>>>>
>>>> Properly setting up SAS Shortcuts in the WinXP environment, or (say)
>>>> the UNIX equivalent of batch files in the UNIX environment will cause
>>>> SAS to autoexecute (say) an INIT.SAS file that automatically assigns
>>>> the LOGDIR and DATADIR macro variables used above.  This is extremely
>>>> convenient because it makes the SAS code more portable from project to
>>>> project.
>>>>
>>>>
>>>> MY QUESTION:
>>>> Is it possible to use this kind of relative file and directory referencing
>>>> from within R?
>>>
>>> Perhaps you are looking for ?setwd
>>
>> Another idea is to use environment variables.  So if in an R function I
>> have
>>
>>      xls_file <- file.path(Sys.getenv("DATADIR"), "blah.xls")
>>
>> I can R run from a shortcut, appending DATADIR=J:/foo/bar to the command
>> line.
>>
>> --
>> Brian D. Ripley,                  ripley at stats.ox.ac.uk
>> Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
>> University of Oxford,             Tel:  +44 1865 272861 (self)
>> 1 South Parks Road,                     +44 1865 272866 (PA)
>> Oxford OX1 3TG, UK                Fax:  +44 1865 272595
>>
>
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
>
>

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595




More information about the R-help mailing list