Sorted - sort of...
I've simply wrapped the invocation of R in a shell script along with the
necessary environment variables. However, this is precisely the solution that I
was hoping to avoid!
I can see why it would be inadvisable to switch TMPDIR mid way through a
session, but wouldn't it be useful to able switch it on the way in?
As ever thanks for the help, cheers, Ben
-----Original Message-----
From: pd at pubhealth.ku.dk [mailto:pd at pubhealth.ku.dk] On Behalf Of Peter
Dalgaard
Sent: 30 October 2006 17:08
To: Benjamin Lloyd-Hughes
Cc: Peter Dalgaard
Subject: Re: [R] Problem setting TMPDIR on the fly
"Benjamin Lloyd-Hughes" <Benjamin.Lloyd-Hughes at
benfieldgroup.com> writes:
> Hi Peter,
>
> Thanks for the swift response!
>
> The problem is arising because I'm running R in batch mode through
cron. As such I'd rather set all such environment variables explicitly and
not make any assumptions about what variables maybe getting set on the way in.
A typical call looks like this
>
> /usr/bin/R CMD BATCH --vanilla foo.R bar.Rout
>
> The first few lines of foo.R might run
>
> .libPaths(c("/usr/lib/R/library",
"/eurotempest/software/src/R/packages"))
> Sys.putenv(TMPDIR = "/eurotempest/tmp/R/")
>
> Hence the problem.
>
> Is there a more sensible way to go?
I'd just set it on the command line, as in
TMPDIR="/eurotempest/tmp/R/" R
>
> -----Original Message-----
> From: pd at pubhealth.ku.dk [mailto:pd at pubhealth.ku.dk] On Behalf Of
Peter Dalgaard
> Sent: 30 October 2006 16:33
> To: Benjamin Lloyd-Hughes
> Cc: r-help at stat.math.ethz.ch
> Subject: Re: [R] Problem setting TMPDIR on the fly
>
> "Benjamin Lloyd-Hughes" <Benjamin.Lloyd-Hughes at
benfieldgroup.com> writes:
>
> > Hi folks,
> >
> >
> >
> > I'm having a spot of bother with tempdir(). If I set the
environment
> > variable TMPDIR in my shell prior to invoking R it works as expected:
> >
> >
> >
> > > Sys.getenv("TMPDIR")
> >
> > TMPDIR
> >
> > "/eurotempest/tmp/R"
> >
> > > tempdir()
> >
> > [1] "/eurotempest/tmp/R/Rtmp0xY4XD"
> >
> >
> >
> > However if I don't set it prior to entry, but attempt to set it
from
> > within the current session, the change is not detected/respected:
> >
> >
> >
> > > Sys.getenv("TMPDIR")
> >
> > TMPDIR
> >
> > ""
> >
> > > Sys.putenv(TMPDIR = "/eurotempest/tmp/R/")
> >
> > > Sys.getenv("TMPDIR")
> >
> > TMPDIR
> >
> > "/eurotempest/tmp/R/"
> >
> > > tempdir()
> >
> > [1] "/tmp/Rtmp9chsNX"
> >
> >
> >
> > Any ideas?
>
> You're not supposed to do that. There is one and only one tempdir per
> R session. This is used for storing stuff which R expects to be able to
> find again later, so it would be a bad thing just to switch it out.
>
> --
> O__ ---- Peter Dalgaard ?ster Farimagsgade 5, Entr.B
> c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
> (*) \(*) -- University of Copenhagen Denmark Ph: (+45)
35327918
> ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45)
35327907
>
>
>
------------------------------------------------------------------------------
> This e-mail and its contents are intended for the use of the addressee(s)
and may be confidential/privileged. No-one else may review, copy, disclose or
otherwise use it or its contents. If you receive this e-mail in error, please
contact the originator and delete it as soon as possible.
> Benfield Limited is authorised by the Financial Services Authority under
the reference number 311884. Registered in England no 1170753. Registered office
55 Bishopsgate.
>
> Please refer to Benfield Limited's terms and conditions
(www.benfieldgroup.com/terms) for a description of our services, duties and
points of contact. Please review these terms and conditions at inception and
renewal of all reinsurance and insurance contracts.
>
> Please note that our terms and conditions and interests in other companies
may change over time and these changes will be reflected on the Benfield Limited
website. The latest version of our terms and conditions supersedes all previous
versions.
>
=============================================================================>
>
--
O__ ---- Peter Dalgaard ?ster Farimagsgade 5, Entr.B
c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
------------------------------------------------------------------------------
This e-mail and its contents are intended for the use of the addressee(s) and
may be confidential/privileged. No-one else may review, copy, disclose or
otherwise use it or its contents. If you receive this e-mail in error, please
contact the originator and delete it as soon as possible.
Benfield Limited is authorised by the Financial Services Authority under the
reference number 311884. Registered in England no 1170753. Registered office 55
Bishopsgate.
Please refer to Benfield Limited's terms and conditions
(www.benfieldgroup.com/terms) for a description of our services, duties and
points of contact. Please review these terms and conditions at inception and
renewal of all reinsurance and insurance contracts.
Please note that our terms and conditions and interests in other companies may
change over time and these changes will be reflected on the Benfield Limited
website. The latest version of our terms and conditions supersedes all previous
versions.