Rcpp函数编译错误

时间:2015-08-24 20:42:48

标签: r rcpp

原始R功能:

psiBiSquare<-function(r,c){
true<-abs(r)<=c
false<-abs(r)>c
psi<-true*(r*(1-(r/c)^2)^2)+false*0
return(psi)
}

我用以下更快的Rcpp实现替换它:

 #include <Rcpp.h>
#include <math.h>
using namespace Rcpp;

// [[Rcpp::export]]
NumericVector psiBS_rcpp(NumericVector r, double c) {
int n =r.size();
NumericVector y = clone(r);

for(int i=0;i<n;i++){
 if(abs(r[i])<=c){
  y[i]=(r*pow(1-pow(r/c,2),2));
 }
 else{
  y[i]=0;
 }
}
 return y;
}

错误信息是&#34;无法转换rcpp :: sugar ::&#34;我做错了什么?

0 个答案:

没有答案