[R] Putting a NULL in a list (as cannot pass NA to C++)

Rees, David david.rees at citi.com
Mon Dec 3 19:41:06 CET 2007


Hi,

If I do the following I can have a NULL in a list 

> x <- list( 1, list(3,NULL,4), 5 )
> x
[[1]]
[1] 1

[[2]]
[[2]][[1]]
[1] 3

[[2]][[2]]
NULL

[[2]][[3]]
[1] 4


[[3]]
[1] 5

This is a good thing for me as it can be passed through into C++ where I
can know the value is missing. (Can't seem to detect a NA from C++ for
some reason. There is RF_isNull in the API but no RF_isNA that I can
find!)

Is it possible to put a null in an already created list. e.g. now do

> x[[2]][[2]] <- NULL
> x
[[1]]
[1] 1

[[2]]
[[2]][[1]]
[1] 3

[[2]][[2]]
[1] 4


[[3]]
[1] 5


But x[[2]][[2]] has been deleted.

Many thanks

Regards,
David



More information about the R-help mailing list