removing NULL elements from a list
somelist[!sapply(somelist, is.null)] e.g.
s <- list(a=1, b=NULL, c=3, d=NULL, e=5) s[!sapply(s, is.null)]
$a [1] 1 $c [1] 3 $e [1] 5 It you want to confuse people, try s[sapply(s, is.null)] <- NULL which also removes the NULL components.
On Mon, 14 Apr 2003, Ramon Diaz wrote:
I have a list, where several components are NULL, and I'd like to obtain that very same list without the NULL components (i.e., I do not want to unlist or otherwise loose the rest of the list structure). I can do that with a loop, but how could I do it without a loop?
Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595