【问题标题】:Where does R store packages?R 在哪里存储包?
【发布时间】:2011-02-06 14:12:41
【问题描述】:

R 中的install.packages() 函数是在 R 中获取和安装包的自动解压缩实用程序。

  1. 我如何知道 R 选择了哪个目录来存储包?

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

【问题讨论】:

    标签: r packages


    【解决方案1】:

    install.packages 命令查看 .libPaths 变量。这是我在 OSX 上的默认设置:

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

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

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

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

    【讨论】:

    • 这是我想做的,但我如何访问和.Rprofile?提示无法将其识别为对象或函数
    • 这是一个文件。再次阅读精美的手册和/或帮助(启动)。
    • 在 Windows 中,我有:C:\Users\MyName\Documents\R\win-library\3.5
    【解决方案2】:

    这在您的安装随附的“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() 参数列表中指定目录以及包名?
    • 你发现'help(install.packages)'了吗?另外,请参阅我上一条评论中的“帮助(启动)”。并阅读那些手册。最后,在 *doze 时,我倾向于在文件 .Renviron 中设置 R_LIBS="C:/opt/R/library"。我知道你也会问这个问题——所以请阅读帮助(启动)。好的? ;-)
    • 我的 Kindle 上有十几本 R 手册(包括 3,000 多页的第一页),但不知道启动帮助文件。我一直在阅读手册并遇到了死胡同。想想这一直是一个简单的答案。我是否会因 RTFM 问题而失分
    • 3000+ 页面是所有帮助页面的整理——帮助最小。前面提到的“安装和管理”对于您在这里的目标应该非常有用。
    • 是否有等效的方法可以从 bash 命令行中找到这些?即,如果未设置 $R_LIBS$R_LIBS_USER,则指定 R 库安装位置的环境变量? (我希望能够在任何 Unix 系统上执行已安装包的 inst/ 目录中的 R 脚本)。
    【解决方案3】:

    感谢以上两位回答者的指导。 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 处生成第一个目标

    注意:可能有不止一种方法可以实现这一点,但我尝试的其他方法由于某种原因不起作用。

    【讨论】:

    • 我将上述行 .libPaths=("C:/R/library") 复制到我的 Rprofile.site 文件中。我启动 R 2.13.1 64 位并收到此错误:错误:无法更改“.libPaths”的锁定绑定值我使用的是 Windows 7。
    • Dave's answer:应该是.libPaths("...")(调用而不是分配)。
    【解决方案4】:

    你不想要'='

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

    并确保您有正确的 " 符号 (Shift-2)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-05
      • 2017-01-28
      • 2013-11-02
      • 2016-08-09
      • 2010-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多