1

我在 Ubuntu 中使用 R。我意识到我在/usr/local/lib/R/site-library/和中都安装了软件包/home/sparhawk/R/x86_64-pc-linux-gnu-library/3.0/。我希望它们都在我的用户目录中。

如何将所有(非基础)包移动到用户目录?如有必要,我很乐意重新安装 R 和/或软件包。

我也试过sudo apt-get purge r-base了,但这并没有触及上面列出的根目录。

4

2 回答 2

0

使用destdir选项和 install.packages 来指定要安装的包的位置。

install.packages("RCpp,destdir="~/RPackages", CRAN="http://cran.r-project.org")

于 2013-10-26T08:46:53.370 回答
0

卸载 R 和软件包

首先我清除了 Ubuntu 包

$ sudo apt-get purge r-recommended
$ sudo apt-get --purge autoremove
...
dpkg: warning: while removing r-base-core, directory '/usr/lib/R/library' not empty so not removed

如上,没有删除一个目录,所以

$ rm -r /usr/lib/R /tmp

/usr/local/lib/R/site-library/和的包目录~/R/x86_64-pc-linux-gnu-library/仍然存在,所以我删除了它们。

$ mv /usr/local/lib/R/ /tmp
$ mv ~/R/ /tmp/R-user

重新安装 R 和软件包

sudo apt-get install r-recommended

从用户帐户运行 R(我使用 RStudio)。手动安装软件包。

有一次,我收到了警告。

Warning message:
installed directory not writable, cannot update packages 'Matrix' 

因此,我没有以超级用户身份运行 R,而是尝试在用户目录中安装另一个版本。我想我已经安装了两个版本,但 R 似乎选择了较新的版本。

> update.packages()
Matrix :
 Version 1.0-14 installed in /usr/lib/R/library 
 Version 1.1-0 available at http://cran.rstudio.com
Update (y/N/c)?  y
Warning in install.packages(update[instlib == l, "Package"], l, contriburl = contriburl,  :
  'lib = "/usr/lib/R/library"' is not writable
Would you like to use a personal library instead?  (y/n) y
...
> update.packages()
Warning: package 'Matrix' in library '/usr/lib/R/library' will not be updated
> packageVersion('Matrix')
[1] ‘1.1.0’

然而,尽管 R 似乎选择了最新版本,但我仍然收到有关无法升级软件包的警告消息。

> biocLite("limma")
Warning message:
installed directory not writable, cannot update packages 'Matrix'
于 2013-10-28T01:24:32.050 回答