[R] How to detect NULL list element?

Erik Iverson iverson at biostat.wisc.edu
Mon Nov 3 15:10:42 CET 2008


FYI, this is FAQ 7.1

Wacek Kusnierczyk wrote:
> Barry Rowlingson wrote:
>> 2008/11/3  <rkevinburton at charter.net>:
>>
>>   
>>> So how do I detect the NULL at r[1]?
>>>     
>>  How can you detect what is not there?
>>
>>  Single square brackets on a list give you a list. Double square
>> brackets give you the elements.
>>
>>  is.null(r[[1]]) should be TRUE.
>>   
> 
> interestingly:
> 
> (l = list(1, NULL))
> [[1]]
> [1] 1
> 
> [[2]]
> NULL
> 
> 
> l = list(1); l[[2]] = NULL; l
> [[1]]
> [1] 1
> 
> 
> l = as.list(1:3); l[[2]] = NULL; l
> [[1]]
> [1] 1
> 
> [[2]]
> [1] 2
> 
> 
> you can have NULL as an element on a list, but assigning NULL to an
> element of a list removes the element rather than makes it a NULL. 
> 
> i find it more coherent if l[i] would remove the element (as it does)
> while l[[i]] would assign NULL to it (as it doesn't), OR if list(1,
> NULL) would return a list of 1 element.  note, x = NULL *assigns* NULL
> to x rather than removes x:
> 
> x
> Error: object "x" not found
> 
> x = NULL; x
> NULL
> 
> vQ
> 
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list