【发布时间】:2012-03-28 04:52:37
【问题描述】:
当我运行命令库(预测)和库(RcppArmadillo)时,没有错误。但是,当我尝试从脚本运行这些命令时,我的脚本无法执行。
这个案例有一些细微差别。首先,我只在 R 版本 > 2.14 的机器上遇到此错误。我在 R 2.13.0 上成功运行了这个脚本,在 R 版本 2.14.1 和 2.14.2 的机器上遇到了错误。
此外,命令 find.package("forecast") 和类似的 find.package("RcppArmadillo") 不会从脚本内部返回错误,这意味着脚本可以找到包但无法加载它们。
我已成功运行脚本替换库(预测)与以下 6 个其他包:Rcpp、tseries、fracdiff、qcc、quadprog、zoo 和并行。
有谁知道为什么我无法从脚本中加载这两个包,即使我可以在 R 控制台中加载它们,以及为什么这个错误只发生在 R 版本 > 2.14 上?我最初的想法是,这可能与这些包依赖于 R>=2.14 的事实有关。
非常感谢。
【问题讨论】:
-
脚本是否提供任何错误消息?您将其描述为“无法执行”,但具体的行为/消息是什么?
-
Brian,我们正在使用嵌入式 R 通过 C++ 运行脚本,特别是 R_tryEval 函数。如果遇到错误,此函数返回 1,如果没有遇到错误,则返回 0。然后,如果 R_tryEval 返回 0,我的脚本将返回输出;如果 R_tryEval 返回 1,则返回执行错误。因此,我无法确定确切的错误行为或检索错误消息。我所知道的是,当我添加行库(预测)或库(RcppArmadillo)时,我的脚本会返回执行错误。当我的脚本不包含该函数调用时,我的脚本运行成功。
-
好的,感谢您的跟进。我从来没有使用过嵌入式 R,所以我已经超出了我的深度,所以希望其他人可以帮助你。
-
@StewartDoberman C++ 链接的 R 版本是什么?我假设您正在尝试运行一个 R 代码。可以发个样品吗?
-
Karlson,我的 C++ 与 R 2.14.2 相关联。以下是一些说明问题的陈述。 ts_output 是我的输出向量。如果我运行 ts_output