R在哪里存储软件包?


207

install.packages()R中的功能是自动解压缩实用程序,可在R中获取并安装软件包。

  1. 我如何找出R选择存储包的目录?

  2. 如何更改R存储和访问软件包的目录?

Answers:


248

install.packages命令通过.libPaths变量进行查找。这是我在OSX上的默认设置:

> .libPaths()
[1] "/Library/Frameworks/R.framework/Resources/library"

我默认情况下不安装软件包,我更喜欢将它们安装在主目录中。在我的.Rprofile中,我有这行:

.libPaths( "/Users/tex/lib/R" )

这会将目录“ / Users / tex / lib / R”添加到.libPaths变量的前面。


这是我想做的,但是如何访问和.Rprofile?提示无法将其识别为对象或函数
Milktrader 2010年

7
这是一个文件。再次,阅读优质手册和/或帮助(启动)。
Dirk Eddelbuettel 2010年

44

安装随附的“ R安装和管理”手册中对此进行了说明。

在我的Linux机器上:

R> .libPaths()
[1] "/usr/local/lib/R/site-library" "/usr/lib/R/site-library"      
[3] "/usr/lib/R/library"           
R> 

表示默认路径是其中的第一个。您可以通过install.packages()(从R内部)或R CMD INSTALL(R外部)的参数覆盖该参数。

您也可以通过设置R_LIBS_USER变量来覆盖。


我有一台Windows Vista计算机,但是假设存在相同的过程,您是否在install.packages()参数列表中指定目录以及软件包名称?
Milktrader 2010年

3
您是否发现了“帮助(install.packages)”?另外,请参阅我的最后评论“帮助(启动)”。并阅读这些手册。最后,在* doze上,我倾向于只在文件.Renviron中设置R_LIBS =“ C:/ opt / R / library”。我知道您也会问这个问题-因此请阅读help(Startup)。好?;-)
Dirk Eddelbuettel 2010年

1
我在Kindle上有十几本R手册(包括超过3,000页的手册),却不知道Startup帮助文件。我一直在阅读手册,陷入困境。一直以来,这都是一个简单的答案。我是否会因为RTFM问题而失去分数<-我没有很多损失。再次感谢Dirk。下周在R / Finance见。尽我所能提高R技能,以免在演讲过程中尘土飞扬。
Milktrader 2010年

1
3000+页面是所有帮助页面的整理内容-最小的帮助。对于您所追求的目标,“安装和管理”一词应该非常有用。
Dirk Eddelbuettel 2010年

有什么等效的方法可以从bash命令行中找到这些?即,一个环境变量,指定是否设置$R_LIBS$R_LIBS_USER不设置R库的位置?(我希望能够在inst/已安装软件包的目录中执行R脚本)在任何Unix系统上。
David LeBauer 2014年

12

感谢上述两个回答者的指导。James Thompson的建议最适合Windows用户。

  1. 转到安装R程序的位置。这R_Home在文献中被称为。找到它后,转到/ etc子目录。

    C:\R\R-2.10.1\etc
  2. 在此文件夹中选择名为Rprofile.site的文件。我用VIM打开它。您会发现这是一个少于20行代码的基本文件。我在代码中插入了以下代码:

    # my custom library path
    .libPaths("C:/R/library")
    

    (添加的注释可跟踪我对文件所做的操作。)

  3. 在R中,键入.libPaths()函数会产生第一个目标C:/R/Library

注意:可能有多种方法可以实现此目的,但是我尝试过的其他方法由于某些原因无法正常工作。


1
我复制粘贴的行.libPaths=("C:/R/library")到我的Rprofile.site文件。我启动[R 2.13.1 64位和得到这个错误:错误:” .libPaths'结合的锁定不能变化值 我使用Windows 7
弗雷德

1
请参阅Dave的答案:应该是.libPaths("...")(一个电话,而不是一个作业)。
CodeFox

0

您不想要'='

使用.libPaths("C:/R/library")在你Rprofile.site文件

并确保您具有正确的“”符号(Shift-2)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.