[Rcpp-devel] NA value for dates
Dirk Eddelbuettel
edd at debian.org
Fri Oct 5 21:13:16 CEST 2012
On 5 October 2012 at 21:39, Theodore Lytras wrote:
| Hello all,
|
| I am trying to pass from C++ to R a DateVector with a few missing items (NAs).
| I can't seem to find a way, though.
| There does not seem to be a NA_DATE (like NA_REAL, etc), and the default
| constructor for Rcpp::Date creates a date of "-5877641-06-23".
|
| I have even tried to pass an Rcpp::NumericVector and convert like this:
|
| Rcpp::NumericVector a = Rcpp::NumericVector::create(3883, NA_REAL, 15120);
| Rcpp::Language call("as.Date", a, Rcpp::Named("origin", "1970-1-1"));
| Rcpp::DateVector b(3);
| aa = call.eval();
|
| but I still get "1980-08-19" "-5877641-06-23" "2011-05-26" .
|
| The only way to get the expected output is by:
|
| Rcpp::NumericVector a = Rcpp::NumericVector::create(3883, NA_REAL, 15120);
| R["a"] = a;
| R.parseEvalQ("aaa <- as.Date(a, origin=\"1970-1-1\")");
|
| Isn't there any better way to specify a NA for dates, or check if an
| Rcpp::Date is NA ??
I've never tried this, but as Dates in R really are just integers since the
epoch -- so maybe the NA_INTEGER aka R_NaInt will work?
At a more conceptual level, NA shouldn't really be in dates, right? Either
is a valid date, or it is missing (NULL). There simply is no such thing as
Feb 30 or April 31.
Dirk
| Thank you in advance,
|
| Theodore Lytras
| _______________________________________________
| Rcpp-devel mailing list
| Rcpp-devel at lists.r-forge.r-project.org
| https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
--
Dirk Eddelbuettel | edd at debian.org | http://dirk.eddelbuettel.com
More information about the Rcpp-devel
mailing list