[Rcpp-devel] NA value for dates

Dirk Eddelbuettel edd at debian.org
Sat Oct 6 19:05:38 CEST 2012


On 6 October 2012 at 11:05, Dirk Eddelbuettel wrote:
| I had a look too. It is not as simple.

Actually, it was that simple.

And this is now taken care of in an interim version labelled 0.9.14.2 which
you'll find on my site in a moment, and via R-Forge once new tarballs are
built. Rcpp 0.9.15 will come shortly but there is something else I need to
post about first (maybe later today).

For the new date stuff, here is a teaser, using inline 0.3.10 with its new
rcpp() function:

  library(inline)

  f <- rcpp(signature(ds="numeric"), body='
     Rcpp::DateVector d(ds);
     return(d);
  ')

  v <- c(1,2,NA,777,NaN,-4,Inf,-4)  + as.numeric(Sys.Date())
  print(f(v))

which yields 

  edd at max:~/svn/rcpp/pkg$ r /tmp/dateNA.r 
  Loading required package: methods
  [1] "2012-10-07" "2012-10-08" NA           "2014-11-22" NA          
  [6] "2012-10-02" NA           "2012-10-02"
  edd at max:~/svn/rcpp/pkg$ 

as it should.  I added the same check to Datetime as well so for

  f <- rcpp(signature(ds="numeric"), body='
     Rcpp::DatetimeVector d(ds);
     return(d);
  ')

  v <- c(1,2,NA,777,NaN,-4,Inf,-4)  + as.numeric(Sys.time())
  print(f(v))

we get 

  edd at max:~/svn/rcpp/pkg$ r /tmp/dateNA.r 
  Loading required package: methods
  [1] "2012-10-06 12:03:44 CDT" "2012-10-06 12:03:45 CDT"
  [3] NA                        "2012-10-06 12:16:40 CDT"
  [5] NA                        "2012-10-06 12:03:39 CDT"
  [7] NA                        "2012-10-06 12:03:39 CDT"
  edd at max:~/svn/rcpp/pkg$ 


So my thanks to Theodore for (ever so gently) pushing for this. It's a useful
addition. 

Dirk


-- 
Dirk Eddelbuettel | edd at debian.org | http://dirk.eddelbuettel.com  


More information about the Rcpp-devel mailing list