Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to specify lib directory when installing development version R Packages from github repository

In Ubuntu, I am installing all the R packages in the directory, /usr/lib/R/site-library by specifying lib option in install.packages().

But when I try to install the development version of the R packages using, install_github(), it always installs in a local repository of the system user.

.libPaths() has 4 directories including the local repository. So, I have 2 questions,

  1. Will it install in any of the other 3 repositories if i remove the local repository from .libPaths()?

  2. Is there any way to specify installation library path in install_github()?

I am using Ubuntu 12.04 64bit and R 3.0.1

----------------------UPDATE--------------------------------

  1. Unable to remove the local repository from .libPaths()

  2. If I try to install using install_github() in RStudio, it installs in the local repository since lib is not specified.

  3. If I try to install using install_github() as non-root user, it installs in the local repository since lib is not specified.

  4. If I try to install using install_github() as root user, it installs in the /usr/local/lib/R/site-library since lib is not specified.

Is there any to specify installation lib?

like image 717
Manoj G Avatar asked Jul 09 '14 05:07

Manoj G


People also ask

How do I install packages in R?

Open R via your preferred method (icon on desktop, Start Menu, dock, etc.) Click “Packages” in the top menu then click “Install package(s)”. Choose a mirror that is closest to your geographical location. Now you get to choose which packages you want to install.


2 Answers

To add specified library paths in devtools, we need to use with_libpaths()

Arguments for with_libpaths() are, with_libpaths(new, code)

Following is an example for using with_libpaths(),

library(devtools) with_libpaths(new = "/usr/lib/R/site-library/", install_github('rCharts', 'ramnathv')) 

Courtesy: Hadley, here :)

And other than with_libpaths(), there are more options for in devtools::with_something()

in_dir: working directory with_collate: collation order with_envvar: environmental variables with_libpaths: library paths, replacing current libpaths with_lib: library paths, prepending to current libpaths with_locale: any locale setting with_options: options with_path: PATH environment variable with_par: graphics parameters 

More explanations here

like image 174
Manoj G Avatar answered Oct 11 '22 21:10

Manoj G


install_github takes a ... argument that passes to devtools::install. devtools::install has an args argument.

args
An optional character vector of additional command line arguments to be passed to R CMD install. This defaults to the value of the option "devtools.install.args".

R CMD install takes a library argument

 Options:   -h, --help            print short help message and exit   -v, --version         print INSTALL version info and exit   -c, --clean           remove files created during installation       --preclean        remove files created during a previous run   -d, --debug           turn on debugging messages                         and build a debug DLL   -l, --library=LIB     install packages to library tree LIB 

So the following should work:

devtools::install_github("repo", args = c('--library="./mypath/gdfgdg/"')) 

however it doesnt appear to be replacing the call to R CMD install

"C:/PROGRA~1/R/R-31~1.0/bin/x64/R" --vanilla CMD INSTALL  \   "C:\Users\john\AppData\Local\Temp\RtmpucrXMD/RSelenium_1.3.2.tar.gz"  \   --library="C:/Users/john/Documents/R/win-library/3.1" --install-tests  \   --library="C:/Users/john/Desktop/" 
like image 33
jdharrison Avatar answered Oct 11 '22 21:10

jdharrison