【问题标题】:Error: ScalesList was built with an incompatible version of ggproto错误:ScalesList 是用不兼容的 ggproto 版本构建的
【发布时间】:2017-05-09 23:27:43
【问题描述】:

我正在使用deckjs 框架在slidfy 中进行演示。 一切正常,但突然出现这段代码:

ggplot(cars, aes(x = speed, y = dist)) +  geom_point(color = 'red') + stat_smooth(method = "lm", formula = y ~ x, size = 0.5, se = F)

停止工作并显示此错误:

## Error: ScalesList was built with an incompatible version of ggproto.
## Please reinstall the package that provides this extension.

当从源代码或控制台执行时,代码可以完美运行...但是从 R 降价中它不再有效。失败的函数是 stat_smooth()。如果没有平滑执行,其余的可视化都可以。

Herehere 报了类似的错误,提供的解决方案是从github重新安装ggp​​lot和包,但是我不确定我应该安装哪些包,此外,代码只会失败来自 Rmarkdown,而不是从控制台或源代码执行时。

谢谢

【问题讨论】:

  • 干净地启动 R(必要时在香草模式下)。运行现有代码(生成错误)。运行sessionInfo()。请参阅 pkg 列表。重新安装/升级这些软件包。再试一次。请注意,您应该先安装 ggplot2,然后再安装任何包含 ggplot2 geoms/scales/etc 的 pkg。
  • 你是如何编织 rmd 的? RStudio 中的 knit cmd 还是通过函数调用?
  • knit 和 "script" 文档的包加载顺序有何不同?
  • 您可以knitr::purl() 您的文档,然后运行它生成的 R 源代码,看看它在哪里阻塞。
  • 在每个环境中打印出.libPaths()的结果。我猜它们会有所不同,并且错误消息告诉您 htere 是其中一个库目录上的过时版本。

标签: r ggplot2 slidify ggproto


【解决方案1】:

更新 ggplot2 后,我在 RMarkdown 中遇到了类似的问题。我正在加载一个工作区,其中包含使用旧版本 ggplot2 创建的图。解决方案是使用更新版本重新创建该工作区,现在 RMarkdown 可以工作了。

【讨论】:

  • 这就是我的情况。我不得不重新运行所有现有的绘图,然后重新保存我的环境,然后 Markdown 编译再次工作。
【解决方案2】:

这很奇怪;现在一切都恢复正常了。

我按照@baptiste 的建议做了,R 源代码运行正常。 之后,我再次编织了Rmarkdown,错误消失了!

【讨论】:

    【解决方案3】:

    在 2017 年 2 月,通过重新安装所有包(RStudio - 工具 - 检查包更新)解决了相同的错误

    【讨论】:

      【解决方案4】:

      geom_tufteboxplot 也有类似的问题。我首先更新了 ggplot2 和 ggthemes 包,然后分离了所有与 ggplot 相关的包并重新加载它们。它对我有用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-02
        • 1970-01-01
        相关资源
        最近更新 更多