在R中运行rcpp创建的函数时,可以通过以下步骤来确定代码中导致错误的具体行:
library(Rcpp)
Rcpp::stop()
函数来抛出错误,并在其中包含错误信息和行号。例如:#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
NumericVector myFunction(NumericVector x) {
int n = x.size();
NumericVector result(n);
for (int i = 0; i < n; i++) {
if (x[i] < 0) {
Rcpp::stop("Error: Negative value encountered at line %d", __LINE__);
}
result[i] = x[i] * 2;
}
return result;
}
> myFunction(c(1, -2, 3))
Error: Negative value encountered at line 10
这里的行号10指的是C++代码中的行号,可以帮助我们定位到具体的错误位置。
通过以上步骤,我们可以在R中运行rcpp创建的函数时,确定代码中导致错误的具体行。
领取专属 10元无门槛券
手把手带您无忧上云