[R] Remove site path from .libPaths

Rainer M Krug r.m.krug at gmail.com
Fri Feb 15 15:54:31 CET 2013


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 15/02/13 15:41, Duncan Murdoch wrote:
> On 13-02-15 9:28 AM, Rainer M Krug wrote: Hi
> 
> I am sure I am missing something really basic, but I can't figure it out.
> 
> I want to start R so that I can specify the location for the Library tree. In principel
> simple:
> 
> As I only want it dependent on the directory I stat R in, I put a .Rprofile file in the
> directory.
> 
> My default path is:
> 
>>>> .libPaths()
> [1] "/home/rkrug/R/i686-pc-linux-gnu-library/2.15" [2] "/usr/lib/R/site-library" [3]
> "/usr/lib/R/library"
>>>> 
> 
> But I want to have it
> 
>>>> .libPaths()
> [1] "/home/rkrug/THE_DIRECTORY/library" [2] "/usr/lib/R/library"
>>>> 
> 
> The first part is easy:
> 
> .libPaths("/home/rkrug/THE_DIRECTORY/library")
> 
> but how can I remove the site library?
> 
> If I set
> 
> In R 15.2 under Ubuntu, started with
> 
> R --vanilla
> 
>>>> .libPaths()
> [1] "/home/rkrug/R/i686-pc-linux-gnu-library/2.15" [2] "/usr/lib/R/site-library" [3]
> "/usr/lib/R/library"
>>>> .Library.site
> [1] "/usr/lib/R/site-library" "/usr/lib/R/library"
>>>> .Library
> [1] "/usr/lib/R/library"
>>>> .Library.site <- "" .Library.site
> [1] ""
>>>> .libPaths()
> [1] "/home/rkrug/R/i686-pc-linux-gnu-library/2.15" [2] "/usr/lib/R/site-library" [3]
> "/usr/lib/R/library"
>>>> .libPaths("") .libPaths()
> [1] "/usr/lib/R/site-library" "/usr/lib/R/library"
>>>> .Library
> [1] "/usr/lib/R/library"
>>>> .Library.site
> [1] ""
>>>> 
> 
> 
>>>> .libPaths("") .libPaths()
> [1] "/usr/lib/R/site-library" "/usr/lib/R/library"
>>>> 
> 
> even executing
> 
>>>> .libPaths(.libPaths())
> 
> does not change anything.
> 
> Am I missing something or is there a bug in .libPaths()?
> 
>> I don't think there is a bug.  As ?.libPaths says,
> 
>> "Function .libPaths always uses the values of .Library and .Library.site in the base
>> namespace. .Library.site can be set by the site in ‘Rprofile.site’, which should be followed
>> by a call to .libPaths(.libPaths()) to make use of the updated value."
> 
>> So you can't change the value of .Library.site after starting R.  You'll need to use
>> environment variables (as described on that page) to do it.


Thanks for the clarification - the use of the word "site" in "set by the site in ‘Rprofile.site’ "
was not clear to me. I thik it would be much clearer, if it states that the variables .Library and
.Library.site can not be changed while R is running although it looks as if they can be changed
(but then new ones in the top environment are created).

Now just one more question: where can I see that

.Library <- "/A/New/Existing/Directory"

has no impact?

I expected to see this in the code of .libPaths, but I didn't:

> .libPaths
function (new)
{
    if (!missing(new)) {
        new <- Sys.glob(path.expand(new))
        paths <- unique(normalizePath(c(new, .Library.site, .Library),
            "/"))
        .lib.loc <<- paths[file.info(paths)$isdir %in% TRUE]
    }
    else .lib.loc
}
<bytecode: 0x88e7640>
<environment: 0x88e685c>
> 

Thanks,

Rainer



> 
>> Duncan Murdoch
> 
> 
> Cheers,
> 
> Rainer
> 
> 
> 
>> 
>> ______________________________________________ R-help at 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.
>> 
> 

- -- 
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys.
(Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel :       +33 - (0)9 53 10 27 44
Cell:       +33 - (0)6 85 62 59 98
Fax :       +33 - (0)9 58 10 27 44

Fax (D):    +49 - (0)3 21 21 25 22 44

email:      Rainer at krugs.de

Skype:      RMkrug
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJRHkwmAAoJENvXNx4PUvmCnEcIAKPC2wxPWSX5Y/h5jfCg5b9g
OKsGsmL/0bu7MdfoMFKMdFL+TPQ1werGEgcKlmwUuZ/QGzd21BkN+C/Dl5gXSYRB
gHCGrQWUSemUlt+V2BTW1IaoksLhbj+QQBVNJ767eO5LkoIFujIwrCZ8o7upn/cy
6W3EhP+utHWz2C3+/gUR/c5FqPM6r4+9JiNVCxRzjCU/8/wip6dmoQRpZGXgAb8d
Koa5lRJlMUV0IMItMAoIIKzr1IkXaZ91VcTI1X13UTvzT7R/v5xgOnfJPEb5DRqI
clFGa8VaWx2RfmU6ihlmj8k8q4lOyI1hNXE6q8wX7aI3ERW4gSFCuDKASshyZXM=
=XGla
-----END PGP SIGNATURE-----



More information about the R-help mailing list