【发布时间】:2011-02-06 14:12:41
【问题描述】:
R 中的install.packages() 函数是在 R 中获取和安装包的自动解压缩实用程序。
我如何知道 R 选择了哪个目录来存储包?
如何更改 R 存储和访问包的目录?
【问题讨论】:
R 中的install.packages() 函数是在 R 中获取和安装包的自动解压缩实用程序。
我如何知道 R 选择了哪个目录来存储包?
如何更改 R 存储和访问包的目录?
【问题讨论】:
install.packages 命令查看 .libPaths 变量。这是我在 OSX 上的默认设置:
> .libPaths()
[1] "/Library/Frameworks/R.framework/Resources/library"
默认情况下我不在那里安装软件包,我更喜欢将它们安装在我的主目录中。在我的 .Rprofile 中,我有这一行:
.libPaths( "/Users/tex/lib/R" )
这会将目录“/Users/tex/lib/R”添加到 .libPaths 变量的前面。
【讨论】:
这在您的安装随附的“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 变量来覆盖。
【讨论】:
$R_LIBS 和 $R_LIBS_USER,则指定 R 库安装位置的环境变量? (我希望能够在任何 Unix 系统上执行已安装包的 inst/ 目录中的 R 脚本)。
感谢以上两位回答者的指导。 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。
.libPaths("...")(调用而不是分配)。
你不想要'='
在你的Rprofile.site 文件中使用.libPaths("C:/R/library")
并确保您有正确的 " 符号 (Shift-2)
【讨论】: