Rcpp函数,根据输入返回矩阵或数据帧
我在Rcpp中有两个功能:Rcpp函数,根据输入返回矩阵或数据帧,r,rcpp,R,Rcpp,我在Rcpp中有两个功能: //[[Rcpp::export]] DataFrame func1(DataFrame& x) { ... } //[[Rcpp::export]] NumericVector func2(NumericMatrix& x) { ... } 如何编写通用函数 SEXP func(SEXP& x) { ... } 如果输入是数据帧,则使用func1;如果输入是矩阵,则使用func2 我试图在网上查找示例,比如这里给出的示例:但
//[[Rcpp::export]]
DataFrame func1(DataFrame& x) {
...
}
//[[Rcpp::export]]
NumericVector func2(NumericMatrix& x) {
...
}
如何编写通用函数
SEXP func(SEXP& x) {
...
}
如果输入是数据帧
,则使用func1
;如果输入是矩阵
,则使用func2
我试图在网上查找示例,比如这里给出的示例:但我无法让它工作 您需要的是
,例如:
if( is<DataFrame>(x) ){
return func1(x) ;
} else {
return func2(x) ;
}
if( is<DataFrame>(x) ){
DataFrame df(x) ;
return func1(df) ;
} else {
NumericMatrix m(x) ;
return func2(m) ;
}
您是否可以给出一个使用
const DataFrame&
的代码片段,因为我希望避免传递整个DataFrame
按值传递或按引用传递对于Rcpp对象是相同的。这是所有的文件。谢谢。我在哪里合并常量数据帧
?在func1
?dataframefunc1(constdataframe&x){…}