新手RCpp问题在这里:如何使NumericVector返回NA
到R?例如,假设我有一个RCpp代码,将NA
分配给向量的第一个元素。
// [[RCpp::export]]
NumericVector myFunc(NumericVector x) {
NumericVector y=clone(x);
y[0]=NA; // <----- what's the right expression here?
return y;
}
最佳答案
对于给定的向量类型(NA
,NumericVector
,...),获取正确的IntegerVector
的规范方法是使用静态get_na
方法。就像是:
y[0] = NumericVector::get_na() ;
FWIW,您的代码与
Rcpp11
一样工作,该代码知道如何将静态Na_Proxy
实例NA
转换为目标类型的正确缺失值。