gpt4 book ai didi

r - Rcpp 中的错误处理

转载 作者:行者123 更新时间:2023-12-04 04:55:32 25 4
gpt4 key购买 nike

如何检查值是否为数字和有限值?假设我使用 Rf_rgamma 或我自己的例程生成随机数。根据参数,可能会产生错误。如何在 C 中检查并在该事件中中断循环和整个函数?

我如何检查一个向量,比如来自 RcppArmadillo 的 arma::vec,是否只包含数值和有限值?

我知道,这些都是一般问题。但是,我的特定问题需要几分钟才能重现,而且我无法创建一个最小的示例。大多数情况下,我的函数运行良好,只有 100.000 次中的 1 次会导致 R 崩溃。

最佳答案

这是一种方法:检查每个元素。一个简单的演示:

R> cppFunction('int checker(double x) { return ::R_finite(x);} ')
R> checker(2)
[1] 1
R> checker(0)
[1] 1
R> checker(NaN)
[1] 0
R> checker(Inf)
[1] 0
R>

关于r - Rcpp 中的错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16800453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com