【发布时间】:2021-08-19 18:16:19
【问题描述】:
我想将带有功率元素 (x^y) 的 R 代码转换为 Rcpp。 Rcpp 使用 pow(x,y) 但它似乎没有被矢量化。以下示例返回 NaN NaN。
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
NumericVector vecTest(NumericVector x) {
return pow(x, 0.25);
}
/*** R
test <- c(-1.19556e+12, -1.24111e+12)
vecTest(test)
*/
我可以编写一个 for 循环来遍历 x 向量的元素,但我想知道我是否缺少某些东西。
【问题讨论】:
-
嗯。这个问题使它看起来像基础矢量化:stackoverflow.com/questions/30106492/…
-
c(-1.19556e+12, -1.24111e+12)^ .25returnNaN NaN在 R 中也是如此(所以这不仅仅是 Rcpp 的事情)。您期待什么值? -
你知道你试图在你的例子中留下实数吗?