r语言 - 转换为矩阵时对'internal'的引用不明确?



我正试图将数据帧与rcpp中的矩阵相协调,如下所示:在rcpp 中将数据帧转换为矩阵的最佳方法

NumericMatrix testDFtoNM(DataFrame x) {
NumericMatrix y = internal::convert_using_rfunction(x, "as.matrix");  
return y;
}

我得到错误:

Line 135 reference to 'internal' is ambiguous.

这似乎表明存在多个以内部作为定义的活动命名空间。

我如何找到额外的内部和/或如何修复要编译的代码而不出现错误?

更新:Allan给了我解决方案,使用Rcpp::inline确实允许它工作,但不是为什么以及如何自己找到正确的命名空间。

我当前的名称空间是:

using namespace Rcpp;
using namespace std;
using namespace arma;
using namespace RcppParallel;

显然,内部存在于其中不止一个。有没有一种方法可以在不尝试和错误的情况下找到哪些参考文献。

您试图调用的函数位于internal命名空间中,该命名空间嵌套在Rcpp命名空间中,如您在文档中看到的。假设您使用了至少两个带有嵌套名称空间internal的名称空间。因此,简单地指定

NumericMatrix testDFtoNM(DataFrame x) {
NumericMatrix y = Rcpp::internal::convert_using_rfunction(x, "as.matrix");  
return y;
}

应解决歧义。

相关内容

最新更新