小编osz*_*kar的帖子

Rmarkdown 和 Renv 的可重复性问题

我最近注意到相同的 R markdown 文档在不同条件下(例如不同项目)运行时会生成不同的图。作为一个玩具示例,请考虑以下文档:

---
title: "Example"
output:
  html_document
---

```{r plot, warning=FALSE, echo=FALSE}
library("tidyverse")
tibble(mu = c(-9.4, -9.3, -9.2, -9, -8.9, -8.8, -8.7, -8.5, -8.4, -8.3, 0),
       N = c(1, 2, 1, 1, 1, 3, 1, 1, 1, 1, 3)) %>%
  ggplot() +
  geom_point(aes(x=mu, y=N)) + 
  geom_bar(aes(x=mu, y=N), stat="identity", fill="grey", colour="black", width=0.1) +
  theme(panel.background=element_blank(),
        axis.title=element_text(size=20),
        axis.text=element_text(size=15))
```
Run Code Online (Sandbox Code Playgroud)

它应该产生一个像下面这样的情节,有时我会成功并得到它:

在此处输入图片说明

然而,其他时候,我得到了这个替代版本,这是无稽之谈:

在此处输入图片说明

我注意到在加载tidyverse包后,有些版本是不同的。例如,第一个 ggplot 是 3.2.1,而后者是 3.3.0。这后来有一个不同的版本号,因为它是在使用 Renv 的 R 项目中单独维护的。

好的,会不会是版本号不同?即使考虑到我很久以前就知道这个包的这些不同版本,我也很难理解在任何ggplot 版本中给定此代码如何生成第二个图。如果不是版本号,是否有可能导致此问题的任何提示?

r ggplot2 r-markdown tidyverse renv

1
推荐指数
1
解决办法
68
查看次数

标签 统计

ggplot2 ×1

r ×1

r-markdown ×1

renv ×1

tidyverse ×1