【发布时间】:2011-07-17 10:09:27
【问题描述】:
如果我从 CRAN 网站下载“package-name”.tar.gz 文件,将其 gunzip 并解压缩到自定义目录中,如何从 R 中加载该包?我无法提取 R 安装目录中的文件。
【问题讨论】:
-
请添加更多关于操作系统的信息,以及为什么要从源代码安装软件包。如果您不熟悉 R,请阅读推荐的手册。
标签: r installation package
如果我从 CRAN 网站下载“package-name”.tar.gz 文件,将其 gunzip 并解压缩到自定义目录中,如何从 R 中加载该包?我无法提取 R 安装目录中的文件。
【问题讨论】:
标签: r installation package
尝试使用 Hadley Wickham 的 devtools package,它允许从给定目录加载包:
library(devtools)
# load package w/o installing
load_all('/some/package/diR')
# or invoke 'R CMD INSTALL'
install('/some/package/diR')
【讨论】:
ERROR: cannot install to srcdir for package ‘RPostgreSQL’ * removing ‘/usr/local/lib/R/site-library/RPostgreSQL’ Error: Command failed (1) :-(
请添加一些关于操作系统的额外信息。如果您使用的是 Windows,则需要 Rtools (http://www.murdoch-sutherland.com/Rtools/) 从源代码构建。有关如何安装所需的一切的更多信息,请参阅该网站。
即使您使用的是 Linux,也无法简单地提取包文件。可能有底层 C 代码(MSBVAR 包就是这种情况),甚至 R 代码也必须经过处理才能构建到可以直接使用 library() 函数加载的包中。
另外,您必须考虑到您要安装的软件包可能具有依赖项。对于MSBVAR 包,这些包是coda 和bit。从源代码构建时,您需要确保所有依赖项都已安装,否则可能会出错。
除了 R CMD INSTALL 之外,您还可以在 R 中尝试:
# from CRAN
install.packages("MSBVAR", type="source")
# from a local file
install.packages("/my/dir/MSBVAR.tar.gz",repos=NULL, type="source")
或者为什么不这样做
# from CRAN
install.packages("MSBVAR")
这很好用。
【讨论】:
您需要将软件包安装到您有权读写的目录中。首先,将包下载到易于访问的目录。如果您使用的是 Linux/Mac,请尝试在您的主目录中创建一个名为“rlib”的目录。
cd ~; mkdir rlib
R CMD INSTALL MSBVAR.tar.gz --library=rlib
如果您希望从 R 安装软件包,请执行以下操作:
## From CRAN
install.packages("MSBVAR", lib="~/rlib")
【讨论】:
你不能打电话给R CMD INSTALL downloadedpackage.gz?
据我了解,如果它无法获得对 R 安装文件夹的写入权限,这应该将包安装在您的用户空间中
【讨论】:
您不需要解压缩或解压缩
只需在命令提示符下输入此命令,它就会解压缩到适当的位置
R CMD INSTALL [options] [l-lib] pkgs.tar.gz
如解释here
那么你可以通过library(the_pkg)在R中使用它
【讨论】: