【问题标题】:Loading an R Package from a Custom directory从自定义目录加载 R 包
【发布时间】:2011-07-17 10:09:27
【问题描述】:

如果我从 CRAN 网站下载“package-name”.tar.gz 文件,将其 gunzip 并解压缩到自定义目录中,如何从 R 中加载该包?我无法提取 R 安装目录中的文件。

【问题讨论】:

标签: r installation package


【解决方案1】:

尝试使用 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) :-(
【解决方案2】:

请添加一些关于操作系统的额外信息。如果您使用的是 Windows,则需要 Rtools (http://www.murdoch-sutherland.com/Rtools/) 从源代码构建。有关如何安装所需的一切的更多信息,请参阅该网站。

即使您使用的是 Linux,也无法简单地提取包文件。可能有底层 C 代码(MSBVAR 包就是这种情况),甚至 R 代码也必须经过处理才能构建到可以直接使用 library() 函数加载的包中。

另外,您必须考虑到您要安装的软件包可能具有依赖项。对于MSBVAR 包,这些包是codabit。从源代码构建时,您需要确保所有依赖项都已安装,否则可能会出错。

除了 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")

这很好用。

【讨论】:

    【解决方案3】:

    您需要将软件包安装到您有权读写的目录中。首先,将包下载到易于访问的目录。如果您使用的是 Linux/Mac,请尝试在您的主目录中创建一个名为“rlib”的目录。

    cd ~; mkdir rlib
    R CMD INSTALL MSBVAR.tar.gz --library=rlib
    

    如果您希望从 R 安装软件包,请执行以下操作:

    ## From CRAN
    install.packages("MSBVAR", lib="~/rlib")
    

    【讨论】:

      【解决方案4】:

      你不能打电话给R CMD INSTALL downloadedpackage.gz

      据我了解,如果它无法获得对 R 安装文件夹的写入权限,这应该将包安装在您的用户空间中

      【讨论】:

      • 我试过了,但我得到一个“错误:包'MSBVAR'的编译失败”。
      • 也许如果您将错误粘贴到您的问题中,您会得到更多有用的答案?我猜它有一些需要做的C编译。您要么需要为特定平台下载二进制包,要么需要正确设置编译器。
      • 这里的二进制包不工作吗? cran.r-project.org/web/packages/MSBVAR/index.html
      • 如果编译失败,那么应该有一个较早的错误说明原因。也许您没有安装 C 或 Fortran 编译器。您使用的是什么操作系统?
      • 我的操作系统是:sparc-sun-solaris2.10。在错误消息之前,我还收到一条“sh:make:not found”消息。我尝试加载所有依赖项,然后在 tar.gz 文件上使用 install.packages。我想在这一点上,我只需要等待 IT 安装它......
      【解决方案5】:

      您不需要解压缩或解压缩
      只需在命令提示符下输入此命令,它就会解压缩到适当的位置

      R CMD INSTALL [options] [l-lib] pkgs.tar.gz

      如解释here

      那么你可以通过library(the_pkg)在R中使用它

      【讨论】:

        猜你喜欢
        • 2017-09-29
        • 2015-06-05
        • 2015-02-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多