Dates are number of days since 1970-01-01 that is it.
to get data of Date in C:
library(inline)
code = 'Rprintf("%f", REAL(x)[0]); return R_NilValue;'
f = cfunction(signature(x="double"), body=code)
na = f(Sys.date())
to create an object of class Date:
--- in C ---
SEXP res = allocVector(REALSXP, n);
return res;
// one can assign class here, but one can also do it on return to R
--- in R ---
res = .Call("myDateFun", n)
class(res) = "Date"
Best,
Oleg
Lee, Philip (IT) wrote:
r-devel,
I've been trying to write a C plugin for R, and I'm struggling to
understand how dates are represented.
I can create a date in R:
mydate<-as.Date(1, origin="1900-01-01") mydate
[1] "1900-01-02"
When I pass my date to a plugin, though, it's type is that of a real.
There doesn't seem to be a date type in Rinternals.h, is there a way to
recognize that a value is a date rather than a real?
Equally, does anyone know if it's possible to create date values in the
C api?
Thanks,
Phil Lee
Philip Lee
Morgan Stanley | Technology
750 Seventh Avenue, 12th Floor | New York, NY 10019
[EMAIL PROTECTED]
--------------------------------------------------------
NOTICE: If received in error, please destroy and notify sender. Sender does not
intend to waive confidentiality or privilege. Use of this email is prohibited
when received in error.
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
--
Dr Oleg Sklyar * EBI-EMBL, Cambridge CB10 1SD, UK * +44-1223-494466
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel