【问题标题】:How do I get rmarkdown 1.2 with Microsoft R Open 3.3.2如何使用 Microsoft R Open 3.3.2 获得 rmarkdown 1.2
【发布时间】:2017-07-07 02:55:42
【问题描述】:

我正在使用 RStudio 1.0.136 和 Microsoft R Open 3.3.2 当我执行 File --> New File --> R Markdown... 它说

rmarkdown 1.2 是必需的,但 1.1 可用

检查 getOption("repos") 是否引用了包含所需软件包版本的 CRAN 存储库

getOption("repos") 给了我这个:

                                                      CRAN 
"https://mran.revolutionanalytics.com/snapshot/2016-11-01" 
                                                 CRANextra 
                      "http://www.stats.ox.ac.uk/pub/RWin" 

我从这里去哪里?

【问题讨论】:

  • 您是否尝试更新markdown 包?
  • 是的。它说“所有软件包都是最新的”。
  • 再次尝试安装rmarkdown 包。 install.packages("rmarkdown")。我拥有的最新版本是 1.3。
  • MS R 将包存储库修复到他们发布该版本的 R 发行版的日期。要获取更新的包,您可以使用 repos 参数来引用不同的存储库。 update.packages(repos="https://mran.revolutionanalytics.com/snapshot/2016-02-16") 之类的东西应该为您提供最新最好的。
  • 应该是update.packages(repos="https://mran.revolutionanalytics.com/‌​snapshot/2017-02-16"‌​)。该死的年份变化。这将更新您的所有软件包。如果您只想更新rmarkdown 及其依赖项而不理会其他包,请使用答案中的代码。

标签: r r-markdown cran microsoft-r


【解决方案1】:

我们对 MRO(和其他 MS R 发行版)所做的事情之一是将默认存储库指向静态时间点快照,以实现可重复性。

来自https://mran.revolutionanalytics.com/documents/rro/reproducibility/

例如,您昨天使用的一个包可能在一夜之间更新了,或者它的某个依赖项更新了,现在您的脚本不再按预期工作。开发人员想知道,“他们打算什么时候修复和更新这个包?我需要重写我的脚本吗?”每当他们的维护者选择这样做时,包都会得到修复 - 无论是今天,明天还是下个月。每次包中断时,使用该版本包的所有脚本都会如此。这种方法显然不是最理想的R 程序员渴望的稳定性。

同样,每当用户指向最新的 CRAN 存储库时,install.packages 都可以在今天为“User_A”安装一个版本的软件包,为指向不同镜像的“User_B”安装同一软件包的另一个版本,甚至是一个'User_C' 明天尝试安装时出现“找不到包”错误。这种不一致再次给共享脚本带来了挑战。

就您而言,您使用的快照截至 2016 年 11 月 1 日。当时,最新版本的 rmarkdown 是 1.1。如果您运行install.packages,您将获得该版本,而不是更新的版本。

如果您确实想要 rmarkdown 1.2,您可以在 install.packages 调用中覆盖默认 repo:

install.packages("rmarkdown", repos="https://cloud.r-project.org")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多