NA-Werte in Rcpp bedingt
Ich habe Probleme mit Bedingungen in Rcpp. Mein Problem lässt sich am besten anhand eines Beispiels erklären.
z <- seq(from=1,to=10,by=0.1)
z[c(5,10,15,20,40,50,80)] <- NA
src <- '
Rcpp::NumericVector vecz(z);
for (int i=0;i<vecz.size();i++) {
if (vecz[i] == NA_REAL) {
std::cout << "Here is a missing value" << std::endl;
}
}
'
func <- cxxfunction(signature(z="numeric"),src,plugin="Rcpp")
func(z)
# NULL
Meinem Verständnis nach,NA_REAL
repräsentiert die NA-Werte für die Reals in Rcpp undNA_Integer
repräsentiert die NA-Werte für ganze Zahlen. Ich bin mir nicht sicher, warum die obige Bedingung niemals true zurückgibtz
.