[R] Using as.integer(NA) in the .C function

Berend Hasselman bhh at xs4all.nl
Tue May 7 16:05:22 CEST 2013


On 07-05-2013, at 15:30, cgenolin <cgenolin at u-paris10.fr> wrote:

> Hi the list,
> I am including some C code in a R program using the .C interface. I want to
> deal with NA values, but the result is strange:
> 
> --- 8< ------------ C code -----------
> void hein(int *a, int *b, int* c){
>  *c = (*a + *b);
> }
> --- 8< -----------------------------------
> --- 8< ------------- R code -----------
>> .C("hein",as.integer(NA),as.integer(1),as.integer(1),NAOK=TRUE)[[3]]
> [1] -2147483647
> --- 8< ---------------------------------
> The result should be NA, isn't it?

Why?

> What wrong il my code?


Read the manual "Writing R Extensions".
See section 5.10.3 and section 6.4 in that manual (I'm referring to the pdf available on CRAN for R-3.0.0).
There may be more references in the manual but these were the first I found by searching, which you should have done.

Berend



More information about the R-help mailing list