【问题标题】:Cannot install R-forge package using install.packages无法使用 install.packages 安装 R-forge 包
【发布时间】:2012-06-21 17:42:56
【问题描述】:

This, question, is, asked, over, and, over, and, over, 在R-sig-finance 邮件列表中,但我认为在stackoverflow 上没有被问到。

是这样的:

我在哪里可以获得 R-forge 上托管的最新版本的包 XYZ?我尝试使用install.packages 安装它,但结果是这样的:

> install.packages("XYZ",repos="http://r-forge.r-project.org")
Warning message: package ‘XYZ’ is not available (for R version 2.15.0)

查看 XYZ 的 R-forge 网站,我发现该包无法构建。 因此,没有下载源的链接。有没有其他方法 获取源代码?一旦我得到源代码,我怎么能把它变成一个 我可以使用library("XYZ") 加载的包?

【问题讨论】:

  • 干得好——我们不妨把它变成一个支持维基。 'r-forge' 标签,也许吧?
  • @DirkEddelbuettel 去吧。我认为我没有足够的代表来做那种事情。
  • 我认为您只是编辑并因此创建了一个新标签。通过在越来越多的问题上使用它,它将变得合法。或者我希望如此。
  • 哈!我刚刚达到了 1500 个代表,当我达到时,我获得了“创建标签”特权
  • 谢谢你,@GSee。所以。更容易搜索,我知道它一定被问了无数次。

标签: r svn installation package r-forge


【解决方案1】:

或者,您可以从 GitHub 安装特定的包,如果它在 GitHub 上有一个 repo。

我跑了install.packages('ggfortify'),得到了

警告消息:“包‘ggfortify’不可用(对于 R 版本 3.3.2)”

ggfortify 是同一包的 GitHub 存储库。

devtools 库允许您使用install_github('username/repo') 直接从 GitHub 安装包。

library(devtools)
install_github('sinhrks/ggfortify')

【讨论】:

    【解决方案2】:

    如果(且仅当)您拥有适合您的操作系统的工具链,那么这可能会成功:

    # First download source file to your working directory
    # As an example use browser to download pkg:partykit from: 
    #  http://download.r-forge.r-project.org/src/contrib/partykit_1.1-2.tar.gz
    # Move to working directory
    # Or in the case of returnanalytics (which is a bundle of packages):
    # http://r-forge.r-project.org/R/?group_id=579 and download the tar.gz (source)
    # Then in R:
    
    install.packages( "partykit_1.1-2.tar.gz", repo=NULL, type="source")
    # for the first of the ReturnAnalytics packages:
    install.packages( "Dowd_0.11.tar.gz", repo=NULL, type="source")
    

    这些方向应该是“跨平台”。 我不确定已接受答案中的说明是否适用于 Mac (OSX)。 (我后来证实他们确实在 Mac 上“工作”,但发现这个过程比我上面建议的更复杂。他们确实产生了一个目录,其中包含的包的形式应该以R --vanilla CMD INSTALL --build pathToEachPackageSeparately 成功)

    【讨论】:

      【解决方案3】:

      您尝试安装的软件包的当前版本也可能需要更新版本的 R,例如,您可能会看到如下错误:

      “错误:此 R 版本为 2.15.0,包 'PerformanceAnalytics' 需要 R >= 3.0.0”

      然后你可以尝试更新你的 R

      或者,如果你遇到和我一样的情况,正在尝试使用 pqR(目前使用 R 版本 2.15),你可以在这里找到过期的实现包:

      http://cran.at.r-project.org/src/contrib/Archive/PerformanceAnalytics/

      您可以从 R-Forge 软件包页面获取此处 -> “稳定版本:从 CRAN 获取 PerformanceAnalytics 1.4.3541” -> 旧来源:PerformanceAnalytics 存档

      例如,您会发现包 PerformanceAnalytics 版本 1.1.0 只需要 R >= 2.14

      祝你好运

      【讨论】:

        【解决方案4】:

        R-Forge 可能由于几个不同的原因无法构建包。可能是这样 文档尚未更新以反映代码中的最新更改。要么, 可能是某些依赖项在构建时不可用。

        您可以使用 svn 查看源代码。首先,在网站上搜索项目 R-Forge 网站并转到项目主页 -- 例如http://r-forge.r-project.org/projects/returnanalytics/ 点击 SCM 链接进入类似这样的页面http://r-forge.r-project.org/scm/?group_id=579

        此页面将告诉您用于签出项目的命令。在这种情况下,您会得到

        可以使用以下命令通过匿名访问签出此项目的 SVN 存储库。

        svn checkout svn://svn.r-forge.r-project.org/svnroot/returnanalytics/

        如果您使用的是 Windows,您可能需要下载并安装 TortoiseSVN

        安装 TortoiseSVN 后,您可以在 Windows 资源管理器窗口中右键单击并选择 “SVN 结帐”。在“存储库的 URL:”字段中,输入除 “svn checkout”是您在 R-Forge 上找到的命令的一部分。在这种情况下,你会 输入“svn://svn.r-forge.r-project.org/svnroot/returnanalytics/”。

        点击确定后,项目将下载到当前目录。

        如果您使用的是类似 UNIX 的系统(或者如果您安装了命令行客户端工具 当你为 Windows 安装 TortoiseSVN 时,这不是默认的),你可以 在您的终端(系统终端,而不是 R 终端)中输入 R-forge 给您的命令

        svn checkout svn://svn.r-forge.r-project.org/svnroot/returnanalytics/
        

        这将在当前工作目录下创建一个新目录 包含包中的所有文件。在该目录的顶层 将是一个名为“pkg”的子目录。这个特定的项目(returnanalytics) 包含多个包。

        ls returnanalytics/pkg
        #FactorAnalytics  MPO  PApages  PerformanceAnalytics  PortfolioAnalytics
        

        但是一些 R-forge 项目只有一个包。例如

        svn checkout svn://svn.r-forge.r-project.org/svnroot/random/
        #Checked out revision 14.
        ls random/pkg
        #DESCRIPTION  inst  man  NAMESPACE  R
        

        现在您已经在本地复制了所有代码,如果您希望能够 安装包,你必须先构建它。

        注意事项:由于 R-Forge 未能构建软件包,因此很有可能 包有问题。因此,如果您只是构建它,您可能会发现 有些事情没有按预期工作。特别是,很可能有 缺少或不完整的文档。

        如果您使用的是类似 UNIX 的系统,则可以相对轻松地构建和安装该软件包。对于像 returnanalytics 这样的多包项目,如果你想安装,例如这 PortfolioAnalytics 包,你可以这样做

        R --vanilla CMD INSTALL --build returnanalytics/pkg/PortfolioAnalytics 
        

        “PortfolioAnalytics”是包含包的目录的名称 你想构建/安装。对于单包项目,您可以像这样构建和安装 这个

        R --vanilla CMD INSTALL --build random/pkg
        

        如果您想在 Windows 上构建/安装软件包,请参阅 this question 并遵循 @JoshuaUlrich 提供的 two links

        更多信息请访问R Installation and Administrationthe R-Forge User Manualthe SVN manual

        【讨论】:

        • --vanilla 的使用可能不是必需的,具体取决于 .Rprofile 中的内容。见stackoverflow.com/a/11639336
        • INSTALL --build 构建包的二进制版本,但不安装它。另外,install.packages("XYZ",repos="http://r-forge.r-project.org", type = "source") 会更容易
        • @hadley R CMD build 构建一个包而不安装它。 R CMD INSTALL --build 确实安装它;自己试试。至于install.packages(..., repos="http://r-forge...", type="source"),或许你应该再看一遍问题。
        • 哇,确实如此。文档很不清楚! (我没有看到使用R CMD build 构建二进制包的选项)为什么需要--build 来回答这个问题?我也不明白为什么install.packages + type = "source" 比 svn checkout + R CMD install 更糟糕
        • svn checkout + install.packagesrepos=NULL 很好,但由于我们已经在命令行上使用 svn checkout 部分,所以我只是从那里安装它。这是关于--build 的一个非常好的问题。我认为R CMD INSTALL --build myPackage 等同于R CMD build myPackage,后跟R CMD INSTALL myPackage_1.0.tar.gz。但是,经过一些测试,我发现它们并不相同——.Rbuildignore 似乎与R CMD INSTALL --build myPackage 不相符。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-08
        • 2016-07-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多