如何确保R / Rcpp代码是可重现的("distributable")?



我已经为一篇论文编写了一些R代码,依赖于一些外部包(例如plyrreshape),并使用inlineRcppArmadillo编写了几个相对简单的内联C++函数。

为了研究再现性的目的,我想确保它可以在我自己的计算机(Win64)之外的其他计算机上"按原样"执行。

我的问题是:假设我包含了安装所需软件包的代码,那么RcppArmadillo(以及Rcppinline)软件包是否足以编译用RcppArmadillo编写的函数,或者最终用户是否需要更改系统路径才能在他的Windows机器上进行编译?如果没有,是否可以/建议从我的端保存编译后的函数,并将其包含在我发送的R代码中?

此外,在不太可能的情况下,代码应该在一段时间后运行(比如几年),是否可以在当前版本中包含完整的R安装和相关包,以使代码"经得起未来考验"?

我希望问题是清楚的。

我认为您的代码是"可分发的"one_answers"可由他人执行的",这是一个更宽松的要求。"可重复"意味着前面的问题是正确的,并增加了结果相同的限制(最多为您选择的ε)。

对于"我如何让其他人运行我的R代码",通常的答案是创建一个包。

对于与Rcpp相关的代码,我们有一个完整的小插曲,专门用于使用cod构建您自己的Rcpp包。该小插曲被称为"Rcpp包"。

最新更新