【问题标题】:Error R Studio Knit HTML with install.packages line带有 install.packages 行的错误 R Studio Knit HTML
【发布时间】:2015-09-06 17:13:07
【问题描述】:

我是 RStudio 的新用户,在使用 .rmd 文件和 Knit HTML 时遇到错误

如果我有 install.packages 行:

install.packages('ggplot2');
library(ggplot2);

当我点击 Knit HTML 时,返回错误:

contrib.url(repos, "source") 中的错误:尝试在没有 CRAN 的情况下使用 设置镜像调用: ... withVisible -> eval -> eval -> install.packages -> contrib.url 执行停止

我能够使用以下方法解决此问题:

if (!require('ggplot2')) 
{
  install.packages('ggplot2');
  library(ggplot2);
}

如果我正在编写 .rmd,是否每次安装新软件包时都需要使用 if (!require( 行?有没有办法避免这种情况,所以我只能写install.packages(

【问题讨论】:

  • 您是否尝试过类似:install.packages("ggplot2", repos = 'http://cran.us.r-project.org')?
  • 为什么需要install.packages 行?每次编译 Rmd 时,您真的要重新安装软件包吗?通常你会在一个单独的交互式会话中安装这些包,然后在你的 Rmd 中使用library
  • 正如@hrbrmstr 建议的那样,如果您设置repos 参数,效果很好,我刚刚测试过。
  • 我并不总是设置 CRAN 镜像。当我这样做时,我设置了云镜像cran.rstudio.com :)
  • 谢谢 hrbrmstr 和 yihui,您的两个建议都很有效!是否可以将 cran.rstudio.com 设置为默认值?还是每次都需要写在代码里?

标签: r rstudio knitr r-markdown


【解决方案1】:

您不需要每次都使用install.package() 行。

通常您应该在控制台或单独的交互式会话中安装软件包,或者在安装该库后删除该行(这里是 ggplot)。

只需使用库(ggplot2)

  library(ggplot2);

希望对你有帮助

【讨论】:

  • 感谢您的指正,我想提一下有关删除 install.package() 的问题。据我所知,没有必要使用 if 语句。
【解决方案2】:

我在使用 Knit 文档时也遇到了同样的错误,我在 R 脚本中做了以下事情:

  1. 在控制台中运行命令来设置您的默认存储库: 选项(repos=structure(c(CRAN="http://cran.r-project.org")))

  2. 在您的 R 工作室中添加以下代码: 选项(repos="https://cran.rstudio.com")

  3. 为需要的包添加 url 引用,例如: install.packages("pscl", repos = "https://cran.rstudio.com")

【讨论】:

    猜你喜欢
    • 2014-06-14
    • 1970-01-01
    • 1970-01-01
    • 2021-05-28
    • 2016-07-01
    • 2018-07-19
    • 1970-01-01
    • 2021-02-11
    • 2019-02-06
    相关资源
    最近更新 更多