【发布时间】:2023-03-11 16:03:01
【问题描述】:
我在与合作者共享 R 代码时遇到了困难,我想知道如何解决这个问题。我的代码会为我正常运行,但不会为我的合作者运行,反之亦然。我使 R/Rstudio 和我的软件包保持最新状态。
我的合作者在他们的 PC 上使用 R,而我在我的 Mac 上使用 Rstudio。 R/Rstudio 之间是否存在任何已知的不兼容性或在 Mac 和 PC 之间共享 R 代码?
我的一个假设是这可能是由旧版本的软件包引起的。我知道我的合作者让 R 保持最新,但我不确定他们如何管理他们的包。
例如我使用 tidyverse 进行数据操作,似乎这对他们来说尤其是个问题。
成功共享代码的最佳方式是什么?最近有人建议不要使用“library”来加载包,而是使用“require”来解决我的问题。
【问题讨论】:
-
R 是一种编程语言。您的合作者在他们的 PC 上使用什么 IDE for R?如果你们都让 R 保持最新,那么你们的代码应该可以打开并运行得很好。否则你们中的一个人是错误的(或撒谎)。
-
R 的行为在 OS X 和 Windows 之间存在细微差别,例如在 Windows 上的
download.files()和 OS X 上的method="curl"中需要使用method="wininet"。一般来说,但是,在两个操作系统上安装在相同版本级别的给定软件包将表现相同并产生相同的结果。我在 OS X、Windows 和 Ubuntu Linux 上安装了 R,当将当前版本级别的软件包应用于每个操作系统时,它们都会产生相同的结果。 -
最好的方法可能是使用 docker,这样你们就在同一个镜像构建上运行。但是请忽略建议使用“require”而不是“library”的人。它几乎总是做错事:yihui.name/en/2014/07/library-vs-require
标签: r collaboration