R 在哪里存储包?

Posted

技术标签:

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

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

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

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

【问题讨论】:

【参考方案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 用户。

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

    C:\R\R-2.10.1\etc
    

    选择此文件夹中名为 Rprofile.site 的文件。我用vim打开它。您会发现这是一个不到 20 行代码的简单文件。我在代码中插入了以下内容:

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

    (添加评论以跟踪我对文件所做的操作。)

    在 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)

【讨论】:

以上是关于R 在哪里存储包?的主要内容,如果未能解决你的问题,请参考以下文章

谁能给我一下R语言里面的affy包,或者谁知道这个包跑到哪里去了??

NuGet 引用存储在哪里?

在哪里存储我的节点计划

ASP.NET Core 中的 NuGet 包位置在哪里?

NuGet参考存储在哪里?

在哪里/如何存储或生成客户端机密?