[R] library(...,pos=) is not consistent

Gabor Grothendieck ggrothendieck at gmail.com
Thu Jun 17 19:28:42 CEST 2010


On Thu, Jun 17, 2010 at 1:11 PM, Russell Ivory
<Russell.Ivory at merrickbank.com> wrote:
> I want to be able to load a library in a specified position using the
> pos= argument and have any subsequent library required by the one I'm
> loading go into a specified library as well.  For example, in loading
> caret, it requires and loads lattice as well.  When I specify that caret
> goes into position 9, lattice goes into position 2 by default.  Is there
> a way to specify that by loading a library into position n, any
> subsequent library goes into, say, n+1 and so on?  I need to reserve
> position 2.
>

Its a bit tedious but if you load each dependent package prior to any
package depending on it then you can get them to go into position 9 or
higher.  This must be done recursively so, for example, you need to
load plyr before reshape since caret depends on reshape which depends
on plyr.  In this case it works out like this:

> library(plyr, pos = 9)
> library(reshape, pos = 9)
> library(lattice, pos = 9)
> library(caret, pos = 9)
> search()
 [1] ".GlobalEnv"        "package:stats"     "package:graphics"
 [4] "package:grDevices" "package:utils"     "package:datasets"
 [7] "package:methods"   "Autoloads"         "package:caret"
[10] "package:lattice"   "package:reshape"   "package:plyr"
[13] "package:base"



More information about the R-help mailing list